基于Python的异步工作流模块:celery工作流和luigi工作流有什么区别?


坚挺的阿袁
2025-03-11 05:31:52 (25天前)
  1. 我使用django作为Web框架。我需要一个


工作流程
</跨度>
可以执行同步以及异步(批处理任务)任务链的引擎。我发现芹菜和luigi是批处理

工作流程
</跨度>
。我的

3 条回复
  1. 0# 樱花弄๑•ั็•็ | 2019-08-31 10-32




    更新:
    </强>
    正如Erik指出的那样,芹菜是这种情况的更好选择。




    芹菜:
    </强>




    什么是芹菜?



    Celery是一个简单,灵活和可靠的分布式系统,用于处理大量消息,同时为操作提供维护此类系统所需的工具。




    为何使用芹菜?




    • 使用简单&amp;有很多功能。


    • django-celery:提供与Django的良好集成。


    • flower:Celery分布式任务队列的实时监控和Web管理。


    • 积极的&amp;大型社区(基于Stackoverflow活动,Pyvideos,教程,博客文章)。




    路易吉
    </强>




    路易吉是什么?



    Luigi(Spotify最近开源的Python框架)是一个Python包,可以帮助您构建批处理作业的复杂管道。它处理依赖项解析,工作流管理,可视化,处理故障,命令行集成等等。




    为什么要用Luigi?




    • 内置支持Hadoop。


    • 通用性足以用于从本地工作站上的简单任务执行和监视,到启动大量处理任务的链,可以在几天的时间内在多台机器之间同步运行。


    • Lugi的可视化工具:提供工作流依赖图的良好视觉概览。




    结论:
    </强>
    如果你需要一个工具来简单地安排任务和运行它们你可以使用芹菜。如果你正在处理大数据和你可以去Luigi进行大量处理。


  2. 1# 子阳 | 2019-08-31 10-32



    (我是Luigi的作者)



    Luigi不适用于同步低延迟框架。它适用于运行数小时或数天的大批量流程。所以我认为对于你的用例,Celery实际上可能稍好一些


登录 后才能参与评论