2015-10-15 59 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