我需要在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