我使用django作为web框架。我需要一个工作流引擎,可以做同步和异步(批处理任务)的任务链。我发现芹菜和路易吉作为批处理工作流。我的第一个问题是这两个模块之间的区别是什么。
Luigi允许我们重新运行失败的任务链,并且只重新执行失败的子任务。芹菜呢:如果我们重新运行链(在修复失败的子任务代码之后),它会重新运行已经成功的子任务吗?
假设我有两个子任务。第一个创建一些文件,第二个读取这些文件。当我把这些放入芹菜链中时,由于第二个任务中的错误代码,整个链都失败了。在第二个任务中修复代码后重新运行链会发生什么情况?第一个任务会尝试重新创建这些文件吗?
(我是路易吉的作者)
Luigi不适用于同步低延迟框架。它适用于运行数小时或数天的大型批处理过程。所以我认为对于你的用例来说,芹菜可能会稍微好一点
更新:正如埃里克所指出的,芹菜是这种情况下更好的选择。
芹菜:
什么是芹菜?
芹菜是一个简单、灵活、可靠的分布式系统,可以处理大量的消息,同时为操作人员提供维护这样一个系统所需的工具。
为什么要用芹菜?
路易吉
什么是路易吉?
Luigi(Spotify最近的开源Python框架)是一个Python包,帮助您构建复杂的批处理作业管道。它处理依赖关系解析、工作流管理、可视化、处理故障、命令行集成等等。
为什么要用路易吉?
结论:如果您只需要一个工具来安排任务并运行它们,您可以使用芹菜。如果你正在处理大数据和大处理,你可以去路易吉。
相关问题 更多 >
编程相关推荐