小编Chu*_*lar的帖子

在烧瓶中返回立即响应,但在新线程中完成处理

我有一个从 10 秒开始的过程,但是在 10 秒之后,我不需要将信息返回给用户而是将其写在 dynamoDB 上,这就是为什么我希望用户不必等待 10 秒。相反,我希望在发布请求后立即得到“成功”响应。

我读了几篇文章,在这篇文章中,答案是使用 Teardown Callback,但没有示例。

我读了这个,但这对我的问题没有帮助。

我当然阅读了拆卸回调这种模式,但我不知道如何以另一种方式使用它。

我的代码如下所示:

@app.route('/ocr/read_image', methods=['POST'])
def get_text():    
    return jsonify('Success')

@app.teardown_request
def teardown_request(response):        
    time.sleep(10)
Run Code Online (Sandbox Code Playgroud)

它实际上在 10 秒后返回“成功”消息。

有没有办法在 10 秒之前返回“成功”消息?

我一直在读到芹菜可能是可行的,但如果可以的话,我很想避免它。

有谁知道怎么做?

python multithreading flask

2
推荐指数
2
解决办法
2787
查看次数

在 docker 容器中使用 uwsgi 和 nginx 设置 Flask 应用程序

我正在尝试在 Docker 容器中运行带有 Flask、uwsgi 和 nginx 的 Docker 容器。

我的 Dockerfile 看起来是这样的:

FROM ubuntu:16.04

MAINTAINER Dockerfiles

# Install required packages and remove the apt packages cache when done.
RUN apt-get update && \
    apt-get upgrade -y && \
    apt-get install -y \
    ...
    
# install uwsgi 
RUN pip3 install uwsgi

# copy over requirements.txt file
COPY requirements.txt /home/docker/code/

# upgrade pip and install required python packages
RUN pip3 --no-cache-dir install -U pip
RUN pip3 --no-cache-dir install -r /home/docker/code/requirements.txt

# add …
Run Code Online (Sandbox Code Playgroud)

python nginx flask uwsgi docker

2
推荐指数
1
解决办法
4489
查看次数

lazylinker_c 导入错误 Theano

我收到一个烦人的错误。

您可以在此临时文件中找到 C 代码:/tmp/theano_compilation_error_ppkcgkmi Traceback(最近一次调用最后一次):文件“/home/ubuntu/my_project/venv/lib/python3.6/site-packages/theano/gof/lazylinker_c。 py”,第 75 行,在 raise ImportError() ImportError 中

在处理上述异常的过程中,又发生了一个异常:

回溯(最近一次调用):文件“/home/ubuntu/my_project/venv/lib/python3.6/site-packages/theano/gof/lazylinker_c.py”,第 92 行,在 raise ImportError() ImportError

在处理上述异常的过程中,又发生了一个异常:

回溯(最近通话最后一个):文件“”,1号线,在文件“/home/ubuntu/my_project/venv/lib/python3.6/site-packages/theano/初始化的.py”,线路110,从theano .compile进口(文件“/home/ubuntu/my_project/venv/lib/python3.6/site-packages/theano/compile/ INIT致命错误:Python.h:没有这样的文件或目录。编译终止..

我使用的是来自 AWS 的 P2 实例,我在其中安装了 Ubuntu 16.04。

我只是想import theano在 python3.6.4 上

我已经多次重新安装 theano,还安装了许多其他东西,但它不起作用。

我有一个虚拟环境,我正在使用 GPU。

我假设我的 GPU-CUDA-CuNN 安装良好

>>> sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
2018-03-07 17:56:48.738855: I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2018-03-07 17:56:51.390598: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:898] successful NUMA node read from …
Run Code Online (Sandbox Code Playgroud)

python ubuntu amazon-ec2 theano tensorflow

2
推荐指数
1
解决办法
2861
查看次数

__init __()在使用Django Rest Framework中的get调用时得到了一个意外的关键字参数'context'

当我试图获取所有对象时,我收到了这个错误.

我写了我的模型:

class Message(models.Model):
    created = models.DateTimeField(auto_now_add=True)

    type = models.CharField(_('type'), choices=MESSAGE_TYPE, default='Invitation', max_length=100)
    content = models.TextField(_('content'), blank=False)
    sender = models.ForeignKey(User, related_name='sender_message', verbose_name=_("Sender"), )
    recipient = models.ForeignKey(User, related_name='receiver_message', null=True, blank=True,
                                  verbose_name=_("Recipient"))
    url_profile_image = models.URLField(_('url_profile_image'), max_length=500, blank=True, default='')

    class Meta:
        ordering = ('created',)
Run Code Online (Sandbox Code Playgroud)

我的序列化器:

class MessageSerializer(serializers.HyperlinkedIdentityField):

    class Meta:
        model = Message
        fields = ('url', 'id', 'type', 'content', 'Sender', 'Recipient', 'url_profile_image')
Run Code Online (Sandbox Code Playgroud)

和我的意见:

class MessageViewSet(viewsets.ModelViewSet):
    queryset = Message.objects.all()
    serializer_class = MessageSerializer
Run Code Online (Sandbox Code Playgroud)

我能够在django-admin中"创建"那种消息.但我无法得到它们,在创建端点时使用端点.

这是整个错误:

Internal Server Error: /users/messages/
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/django/core/handlers/exception.py", …
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework

1
推荐指数
1
解决办法
3307
查看次数

在haskell中遇到'Either'的麻烦

我正在尝试在Haskell中使用'Either'来获得正确的值.这通常很容易,但我收到了一个错误,我不知道我做错了什么.

我想要做的是:

 cropImage image = do
    resized  <- resizeImage copy        
    newImage <- getImageFromEither resized
    ...
Run Code Online (Sandbox Code Playgroud)

其中resized定义为:

resized :: Either CV.CvException (M.Mat ('CV.S '['CV.D, 'CV.D]) channels depth)

我想得到 M.Mat ('CV.S '['CV.D, 'CV.D]) channels depth

要做到这一点,我使用这个功能:

getImageFromEither eitherImage = fromRight eitherImage
Run Code Online (Sandbox Code Playgroud)

和:

fromRight :: Either a b -> b
fromRight (Left _)  = error "fromRight: Argument takes form 'Left _'"
fromRight (Right x) = x
Run Code Online (Sandbox Code Playgroud)

而且我认为它应该有效.但我得到这个错误:

    Couldn't match kind ‘*’ with ‘CV.DS *'
    When matching types
      m :: …
Run Code Online (Sandbox Code Playgroud)

haskell

0
推荐指数
1
解决办法
134
查看次数