2008-11-25 2 views
11

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

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

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

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

+0

Вы когда-нибудь находили хорошую библиотеку для этого? – 2015-06-02 20:03:10

+0

@ThomasKelley № – Tim 2015-08-21 04:02:28

ответ

3

Быстрый Google поворачивает вверх несколько приличных результатов:

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

НТН

0

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

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

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