从HTTP请求运行后台任务

use*_*060 3 python web-applications flask gunicorn

我有一些服务器代码,我试图从GET请求运行失败,但我不断收到超时错误.是否可以在GET请求期间启动并行线程,然后向用户返回一条消息,说明他们的请求是在后台处理的?如果没有,我的代码可以在不给客户端控制的情况下完成哪些替代方法?

我是一个在gunicorn服务器上运行最新Flask的新手.

Mig*_*uel 8

您可以启动一个线程或一个单独的进程来运行后台任务,然后将响应返回给客户端.响应可以包括对后台任务的引用,客户端可以使用该任务来轮询状态或进度.

你听说过芹菜吗?这是一个任务队列框架,它允许您运行一个或多个执行应用程序请求的异步任务的工作进程,在本例中为Flask服务器.

我写了一个小例子来演示如何将Celery与Flask结合起来.此示例的github存储库是:https://github.com/miguelgrinberg/flask-celery-example.在README中,您可以找到我撰写的博客文章的链接,该文章详细解释了该项目.