基于 Python 的异步工作流模块 : What is difference between celery workflow and luigi workflow?

标签 python celery luigi

我使用 django 作为 Web 框架。我需要一个可以执行同步和异步(批处理任务)任务链的工作流引擎。我发现 celery 和 luigi 作为批处理工作流程。我的第一个问题是这两个模块之间有什么区别。

Luigi 允许我们重新运行失败的任务链,并且只有失败的子任务才能重新执行。 celery 呢:如果我们重新运行链(在修复失败的子任务代码之后),它是否会重新运行已经成功的子任务?

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

最佳答案

(我是路易吉的作者)

Luigi 不适用于同步低延迟框架。它适用于运行数小时或数天的大型批处理过程。因此,我认为对于您的用例,Celery 实际上可能会稍微好一些

关于基于 Python 的异步工作流模块 : What is difference between celery workflow and luigi workflow?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21967398/

相关文章:

mysql - celery 任务更新两个数据库

python - 了解 celery 任务预取

python - 增强DataFrame索引

python - 获取python多处理池中worker的唯一ID

django - Django 中的 Celery(RabbitMQ 与 Django 数据库)

python - luigi批处理模块用于直接批处理任务

python - Luigi - 运行时未完成 %s

python - luigi 依赖项在运行时发生变化

python - 在没有 %matplotlib 魔法函数的 IPython Notebook 中包含绘图

python - 如何将照片插入 Tkinter 窗口,没有 PIL 的枕头