2015-10-15 119 views
1

我的应用程序的工作流程是 -Django的请求/响应多线程

User submits a file 
On receiving -> process_file() 
return response 

这可能会导致超时,如果process_file()要花很多时间,所以我怎么可能之前发回response,然后处理文件和发送稍后向用户输出所需的输出。
我已经签出django芹菜,但我认为这是一个小的应用程序,我正在试图建立相当沉重。

更新:我搜索了一下周围的互联网上,如果有人想用芹菜,这里是一个很好的博客文章,可以帮助你解决这个情况 - [Link]

+1

你需要一个异步队列:https://www.djangopackages.com/grids/g/workers-queues-tasks/ –

回答

1

您可以使用Celery关于此事:

Celery是一个基于分布式消息传递的异步任务队列/作业队列。它专注于实时操作,但也支持调度。

执行单元(称为任务)在使用多处理,Eventlet或gevent的单个或多个工作服务器上同时执行。任务可以异步执行(在后台)或同步执行(等待直到准备就绪)。

+0

谢谢,看来我应该更好地坚持芹菜,而不是其他的东西。 –

+0

欢迎,那也是我结束的地方。 – Wtower