【发布时间】:2020-12-28 14:19:41
【问题描述】:
按照this guide(复杂示例:显示状态更新和结果部分)我有 2 个烧瓶端点用于启动绑定任务(POST 请求)并通过其 id 检索任务结果(GET 请求到/status/
在一个 shell 中以 flask run 和在另一个 shell 中以 celery worker -A app.celery -l info 运行烧瓶应用程序,可以运行任务,然后通过对 /status/ 端点的 GET 请求获取其结果。
添加 gunicorn 并将 worker 数量设置为 3 后,POST 请求运行正常,但获取特定运行任务的状态是一个问题,因为它无法获取任务(task.info 为 None)。有机会通过此状态端点获取任务结果,但如果我正确理解问题,它取决于哪个烧瓶实例 gunicorn 将请求重定向到。
我没有设置任何特定的 celery 设置,只有 broker 和 result_backend(使用 RabbitMQ)。
如何正确配置 gunicorn+flask+celery 来完成这类任务?
【问题讨论】:
标签: python flask celery gunicorn