Временные задачи (cron-like) в PHP
Есть ли полнофункциональный пакет планирования работы, доступный для PHP? Я ищу PHP-эквивалент Java Quartz. У меня все нормально, когда из-за cron запускаются вещи, чтобы управлять системой. Функциональность, которую я бы искал:
- Возможность регистрировать задачу (класс/метод), которая должна вызываться с заданными интервалами.
- Возможность указать, может ли задание выполняться несколько раз (потенциально длинные запущенные методы не должны запускаться несколько раз в определенных случаях).
- Все зарегистрированные записи/методы могут запускаться параллельно (задания задаются так, чтобы они не блокировали другие заданные по времени задачи).
- Возможность установки тайм-аута для заданной задачи.
- Возможность динамически обновлять управление заданиями, например, вы можете отключить некоторые задачи или изменить их частоту без изменений кода.
Я знаю, что много спросить, но это похоже на полезную партию функций, и я думал, что кто-то может собрать часть их.
Если эта или некоторая часть этого еще не существует, любые указатели на объединение или проект с открытым исходным кодом, который имеет достаточно функциональную реализацию некоторого подмножества этих?
Ответы
Ответ 1
Быстрый google показывает несколько достойных результатов:
Действительно, если вы используете какой-либо достойный пакет общедоступного хостинга, вы должны иметь доступ к какому-то планировщику задач, будь то планировщик заданий Windows или cron под * nix. Я знаю, что DreamHost позволяет использовать crontabs уровня пользователя, по крайней мере.
НТН
Ответ 2
Мы портировали Java-кварцевую библиотеку на PHP (https://github.com/php-quartz). Взгляд кода как можно ближе к Java.
Он имеет некоторые дополнительные функции, такие как:
- Интеграция с очередями сообщений, чтобы задания могли выполняться на любом языке.
- Существует возможность использовать его как автономный сервис.