28

我正在寻找一个用于 python 的企业任务调度程序,例如用于 Java 的石英。要求:

  • 持久性:如果进程重新启动或机器重新启动,那么所有作业都必须保留在那里,并且必须在重新启动后被解雇。
  • 作业必须在事务中进入和退出调度程序(即,如果某些数据库操作失败,在与调度程序无关的数据库中,则作业必须没有退出或进入调度程序)。
  • 可扩展性。取决于项目成功的衡量标准,但我更愿意从一开始就知道我不是从死胡同开始的。
  • 可配置性:任务到期时,可以同时触发多少个等。

有什么建议吗?是否有特定于 python 的东西,或者是否有可能(甚至很好)从 python 接口到 Quartz。

4

4 回答 4

22

APScheduler是您要找的吗

于 2009-11-13T04:43:21.310 回答
3

你可以用芹菜

Celery 是一个基于分布式消息传递的异步任务队列/作业队列。它专注于实时操作,但也支持调度。

使用安装芹菜pip install celery

另一种选择是使用RQ

RQ(Redis Queue)是一个简单的 Python 库,用于对作业进行排队并在后台与工作人员一起处理它们。它由 Redis 支持,旨在降低进入门槛。它应该很容易集成到您的 Web 堆栈中。

使用pip install rq.

于 2013-09-22T10:41:17.830 回答
2

我们使用的是Sun Grid Engine,它可以通过DRMAA访问,它恰好有Python 绑定

于 2009-11-15T11:37:33.510 回答
0

这个项目似乎还不错。一个灵活的 python 库,用于构建您自己的类似 cron 的系统来安排作业,即运行龙卷风进程来服务 REST API 和 Web ui。

https://github.com/Nextdoor/ndscheduler

于 2020-06-05T06:59:45.027 回答