use*_*061 32 python celery luigi
我使用django作为Web框架.我需要一个工作流引擎,它可以执行同步和异步(批处理任务)任务链.我发现芹菜和luigi作为批处理工作流程.我的第一个问题是这两个模块之间的区别是什么.
Luigi允许我们重新运行失败的任务链,只有失败的子任务才能重新执行.那么芹菜:如果我们重新运行链(在修复失败的子任务代码之后),它会重新运行已经成功的子任务吗?
假设我有两个子任务.第一个创建一些文件,第二个读取这些文件.当我把它们放入芹菜链中时,整个链条由于第二个任务中的错误代码而失败.在第二个任务中修复代码后重新运行链时会发生什么?第一个任务是否会尝试重新创建这些文件?
Chi*_*and 21
更新:正如Erik指出的那样,芹菜是这种情况的更好选择.
芹菜:
什么是芹菜?
Celery是一个简单,灵活和可靠的分布式系统,用于处理大量消息,同时为操作提供维护此类系统所需的工具.
为何使用芹菜?
路易吉
路易吉是什么?
Luigi(Spotify最近开源的Python框架)是一个Python包,可以帮助您构建批处理作业的复杂管道.它处理依赖项解析,工作流管理,可视化,处理故障,命令行集成等等.
为什么要用Luigi?
结论:如果您只需要一个工具来简单地安排任务并运行它们,您就可以使用Celery.如果你正在处理大数据和大量处理,你可以去Luigi.