我需要在Web應用程序的後臺運行一些任務(檢查代碼等)而不阻止視圖。金字塔web應用程序中的長時間運行任務
典型Queue
/Celery
方案的轉折是,我必須確保任務將完成,甚至生存的web應用程序死機或重啓,直到這些任務完成後,無論其最終結果。
我正在考慮在數據庫中記錄multiprocessing.Pool
的參數,並在webapp重新啓動時啓動所有不完整的任務。這是可行的,但我想知道是否有一個更簡單或更具成本效益的方法?
更新:爲什麼不芹芹本身?那麼,我在一些項目中使用了Celery,這確實是一個很好的解決方案,但是對於這個任務來說它是非常重要的:它需要一個單獨的服務器,通信等,而我需要的只是產生一些進程/線程,在他們的工作(git clone ...
,svn co ...
),並檢查他們是否成功或失敗。另一個問題是,我需要解決方案儘可能小,因爲我必須遵循精心制定的企業準則,程序等,以及我必須經過的人力行政和官僚開銷才能獲得Celery。如果可以,我寧願避免。
您提到了芹菜 - 是什麼讓你解僱它並創造你自己的解決方案?該任務看起來像Celery – Sergey 2014-10-04 19:27:47
@Sergey的典型用例:請參閱UPDATE – LetMeSOThat4U 2014-10-05 13:15:48