Планировщик предприятия для Python (например, кварц) - PullRequest
21 голосов
/ 13 ноября 2009

Я ищу планировщик корпоративных задач для Python, как кварц для Java. Требования:

  • Постоянно: если процесс перезапускается или машина перезапускается, все задания должны оставаться там и запускаться после перезапуска.
  • Задания должны входить и выходить из планировщика в транзакции (т. Е. В случае сбоя какой-либо операции базы данных в базе данных, не связанной с планировщиком, задание не должно было завершиться или войти в планировщик).
  • Масштабируемость. Зависит от степени успеха проекта, но я бы с самого начала хотел знать, что я не начинаю с тупика.
  • Конфигурируемость: когда задания заканчиваются, сколько их можно запустить одновременно и т. Д.

Есть какие-нибудь рекомендации? Есть ли что-то специфическое для Python, или это возможно (или даже хорошо) для взаимодействия с Quartz из python.

Ответы [ 3 ]

16 голосов
/ 13 ноября 2009

Является ли APScheduler тем, что вы ищете?

3 голосов
/ 22 сентября 2013

Вы можете использовать Сельдерей

Celery - асинхронная очередь задач / очередь заданий, основанная на распределенных передача сообщений. Он ориентирован на работу в режиме реального времени, но поддерживает планирование также.

Установите Celery, используя pip install celery

Другая опция использует RQ .

RQ (Redis Queue) - простая библиотека Python для очередей заданий и обрабатывая их в фоновом режиме с работниками. При поддержке Redis и это разработано, чтобы иметь низкий барьер для входа. Так должно быть легко интегрируется в ваш веб-стек.

Установка с использованием pip install rq.

2 голосов
/ 15 ноября 2009

Мы используем Sun Grid Engine , доступный через DRMAA , который имеет привязки Python .

...