Python的企业级调度器(像Quartz)

32 投票
4 回答
18948 浏览
提问于 2025-04-15 15:57

我在寻找一个适合Python的企业级任务调度器,类似于Java中的Quartz。以下是我的一些要求:

  • 持久性:如果进程重启或者机器重启,所有的任务都必须保留,并且在重启后能够继续执行。
  • 任务的进入和退出必须是一个事务(也就是说,如果有某个数据库操作失败了,而这个数据库和调度器没有关系,那么这个任务就不能进入或退出调度器)。
  • 可扩展性:这取决于项目的成功程度,但我希望从一开始就知道我不是在一个死胡同里。
  • 可配置性:比如任务过期时,能同时执行多少个任务等等。

有没有什么推荐的?有没有专门针对Python的,或者从Python连接Quartz是否可行(甚至是好的)?

4 个回答

2

我们正在使用Sun Grid Engine,这是一种可以通过DRMAA访问的工具,而DRMAA又有Python的接口

4

你可以使用 Celery

Celery 是一个异步任务队列/作业队列,基于分布式消息传递。它主要用于实时操作,但也支持定时任务。

你可以通过 pip install celery 来安装 Celery。

另一个选择是使用 RQ

RQ(Redis Queue)是一个简单的 Python 库,用于将任务放入队列,并在后台由工作进程处理。它是基于 Redis 的,设计上很容易上手,能够轻松集成到你的网页应用中。

你可以通过 pip install rq 来安装 RQ。

26

你在找的东西是APScheduler吗?

撰写回答