python 的企业调度程序(如quartz)

发布于 2024-08-11 13:42:33 字数 349 浏览 8 评论 0原文

我正在寻找一个适用于Python的企业任务调度程序,就像Quartz适用于Java一样。 要求:

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

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

I am looking for an enterprise tasks scheduler for python, like quartz is for Java.
Requirements:

  • Persistent: if the process restarts or the machine restarts, then all the jobs must stay there and must be fired after restarting.
  • Jobs must enter and exit the scheduler in a transaction (i.e. if some database operation fail, in a database unrelated to the scheduler, then the job must not have exited or entered the scheduler).
  • Scalability. Depends on the measure of success of the project, but I would prefer to know from the beggining that I am not starting from a dead end.
  • Configurability: when tasks expire, how many can be fired simultaneously, etc.

Any recommendations? Is there something python specific, or is it possible (or even good) to interface to Quartz from python.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

末が日狂欢 2024-08-18 13:42:33

APScheduler 是您要找的吗?

Is APScheduler what you're looking for?

谁与争疯 2024-08-18 13:42:33

您可以使用 Celery

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

使用 pip install celery 安装 Celery

另一种选择是使用 RQ

RQ(Redis 队列)是一个简单的 Python 库,用于对作业进行排队和
与工人一起在后台处理它们。它由 Redis 支持
而且它的设计门槛很低。应该是
轻松集成到您的网络堆栈中。

使用pip install rq安装。

You can use Celery

Celery is an asynchronous task queue/job queue based on distributed
message passing. It is focused on real-time operation, but supports
scheduling as well.

Install Celery using pip install celery

Another option is using RQ.

RQ (Redis Queue) is a simple Python library for queueing jobs and
processing them in the background with workers. It is backed by Redis
and it is designed to have a low barrier to entry. It should be
integrated in your web stack easily.

Install using pip install rq.

凉风有信 2024-08-18 13:42:33

我们正在使用Sun Grid Engine,可通过 DRMAA,它恰好具有 Python 绑定

We're using Sun Grid Engine, which is accessible through DRMAA, which happens to have Python bindings.

缱倦旧时光 2024-08-18 13:42:33

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

https://github.com/Nextdoor/ndscheduler

This project seems not bad. a flexible python library for building your own cron-like system to schedule jobs, which is to run a tornado process to serve REST APIs and a web ui.

https://github.com/Nextdoor/ndscheduler

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文