gpt4 book ai didi

python - python中的分布式任务调度程序?

转载 作者:太空宇宙 更新时间:2023-11-04 04:48:07 25 4
gpt4 key购买 nike

我想构建一个应用程序,它会按定义的时间间隔调用周期性任务 - 类似于 cron 替换,但没有生成进程。我会有很多任务,每分钟大约 10000 个。

  • 我应该能够动态地向调度程序添加任务,例如使用 RPC
  • 任务应该存储在某个中心位置,例如数据库。
  • 它应该是可扩展的,这意味着我可以运行一些类似工作实例的东西来处理计划任务 - 如果一个工作人员已经承受着沉重的负载,另一个开始处理计划任务。

我现在已经研究了这些选项:

  • Celery - 可以作为分布式系统工作,但它并不是真正的调度程序。您无法动态安排新作业。

  • APScheduler - 可以动态添加任务,可以将任务存储在数据库中但不是分布式的。

我可能会运行单独的 apscheduler 实例,但每个实例都会有不同的作业存储(mysql 数据库或表)。此外,我还需要手动确定应向哪个实例作业提交。故障转移和可扩展性也很困难。

是否有任何现有的 python 或非 python 解决方案来解决这个问题?

最佳答案

看看https://github.com/pditommaso/awesome-pipeline .这里有一大堆工作流管理工具,其中一个可能会满足您的要求。

例如:DoItJobLib ,它宣称自己是具有并行执行能力的简单任务系统。

它们中的许多对于您的需求而言过于重量级,而有些则更专业(生物信息学)。

作为管理进程运行的较重任务系统的示例:Luigi , Toil , AirflowPinball .

较重的任务会有一个学习曲线,但可以让您集中管理任务。

关于python - python中的分布式任务调度程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49029161/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com