python中的分布式任务调度器?

python中的分布式任务调度器?,python,celery,scheduled-tasks,scheduler,apscheduler,Python,Celery,Scheduled Tasks,Scheduler,Apscheduler,我想构建一个应用程序,它将以定义的时间间隔调用周期性任务——类似于cron替换,但不生成进程。我有很多任务,大约每分钟10000个 我应该能够动态地向调度程序添加任务,例如使用RPC 任务应该存储在某个中心位置,如数据库 它应该是可伸缩的,这意味着我可以运行类似于worker实例的东西来处理计划任务——如果一个worker已经处于重载状态,那么另一个worker将开始处理计划任务 我现在已经研究了这些选项: 芹菜-可以作为一个分布式系统工作,但它不是真正的调度器。无法动态安排新作业 APS

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

  • 我应该能够动态地向调度程序添加任务,例如使用RPC
  • 任务应该存储在某个中心位置,如数据库
  • 它应该是可伸缩的,这意味着我可以运行类似于worker实例的东西来处理计划任务——如果一个worker已经处于重载状态,那么另一个worker将开始处理计划任务
我现在已经研究了这些选项:

  • 芹菜-可以作为一个分布式系统工作,但它不是真正的调度器。无法动态安排新作业

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

我可能可以运行不同的apscheduler实例,但每个实例都有不同的作业存储(mysql数据库或表)。我还需要手动确定作业应该提交到哪个实例。故障切换和可扩展性也很困难

是否有任何现有的python或非python解决方案可以解决此问题?

请查看。这有一个很大的工作流管理工具列表,其中一个很可能满足您的需求

例如:and,它声明自己是具有并行执行能力的简单任务系统

它们中的许多对你的需求来说太重了,有些更专业(生物信息学)

作为管理流程运行的较重任务系统示例:、和


较重的将有一个学习曲线,但将允许您集中管理任务。

谢谢,我来看看。我可以花时间学习,这比创建和管理自己的解决方案要好得多。@Josh你有没有得到任何动态和分布式创建作业的库。我也有同样的要求。