基于Python的异步工作流模块:Celery工作流和Luigi工作流之间有什么区别?

5 浏览
0 Comments

基于Python的异步工作流模块:Celery工作流和Luigi工作流之间有什么区别?

我正在使用Django作为Web框架。我需要一个可以同步和异步(批量任务)处理任务链的工作流引擎。我发现Celery和Luigi可以作为批处理工作流。我的第一个问题是这两个模块有什么区别。

Luigi允许我们重新运行失败的任务链,只有失败的子任务会被重新执行。那么Celery呢:如果我们重新运行任务链(在修复了失败的子任务代码之后),它会重新运行已经成功的子任务吗?

假设我有两个子任务。第一个任务创建一些文件,第二个任务读取这些文件。当我将它们放入Celery的任务链中时,由于第二个任务中有错误的代码,整个任务链都失败了。在修复了第二个任务中的代码后,重新运行任务链会发生什么?第一个任务会尝试重新创建那些文件吗?

0