Временные задачи (cron-like) в PHP

Есть ли полнофункциональный пакет планирования работы, доступный для PHP? Я ищу PHP-эквивалент Java Quartz. У меня все нормально, когда из-за cron запускаются вещи, чтобы управлять системой. Функциональность, которую я бы искал:

  • Возможность регистрировать задачу (класс/метод), которая должна вызываться с заданными интервалами.
  • Возможность указать, может ли задание выполняться несколько раз (потенциально длинные запущенные методы не должны запускаться несколько раз в определенных случаях).
  • Все зарегистрированные записи/методы могут запускаться параллельно (задания задаются так, чтобы они не блокировали другие заданные по времени задачи).
  • Возможность установки тайм-аута для заданной задачи.
  • Возможность динамически обновлять управление заданиями, например, вы можете отключить некоторые задачи или изменить их частоту без изменений кода.

Я знаю, что много спросить, но это похоже на полезную партию функций, и я думал, что кто-то может собрать часть их.

Если эта или некоторая часть этого еще не существует, любые указатели на объединение или проект с открытым исходным кодом, который имеет достаточно функциональную реализацию некоторого подмножества этих?

Ответы

Ответ 1

Быстрый google показывает несколько достойных результатов:

Действительно, если вы используете какой-либо достойный пакет общедоступного хостинга, вы должны иметь доступ к какому-то планировщику задач, будь то планировщик заданий Windows или cron под * nix. Я знаю, что DreamHost позволяет использовать crontabs уровня пользователя, по крайней мере.

НТН

Ответ 2

Мы портировали Java-кварцевую библиотеку на PHP (https://github.com/php-quartz). Взгляд кода как можно ближе к Java.

Он имеет некоторые дополнительные функции, такие как:

  • Интеграция с очередями сообщений, чтобы задания могли выполняться на любом языке.
  • Существует возможность использовать его как автономный сервис.