массив с параметрами: * - 'period' - период выполнения задачи, например '0 * * * *' (обязательно) * - 'params' - массив с параметрами для вызываемого метода (необязательно) * - 'single' - задача должна выполнятся только сама одна. Ждем пока не завершатся работающие задачи. И не запускаем другие, пока работает текущая. * - 'nonparallel' - не разрешать паралельное выполнение двух процессов такого типа (с одинаковым модуль методом) * * Формат значения 'period' совпадает с форматом crontab, демона cron: * .---------------- минуты (0 - 59) * | .------------- часы (0 - 23) * | | .---------- дни месяца (1 - 31) * | | | .------- месяц (1 - 12) ИЛИ jan,feb,mar,apr ... * | | | | .---- день недели (0 - 6) (Sunday=0 или 7) ИЛИ sun,mon,tue,wed,thu,fri,sat * | | | | | * * * * * * * * Варианты значений: * "*" - любое значение * "8-11" - в 8, 9, 10 и 11 * "1,2,5,9" - в 1, 2, 5, 9 * "1-10/2" - в 2, 4, 6, 8, 10 возможно * / n * * @copyright Tamaranga */ class CronManager { /** * Проверка доступности крон менеджера * @return bool true - крон менеджер доступен и периодически запускается */ public function isEnabled() { } /** * Единоразовый запуск задачи при ближайшем запуске крон менеджера * @param string $module название модуля или плагина * @param string $method метод * @param array $params параметры * @param string|bool $multiple разрешать запуск нескольких однотипных задач * @param array $options доп. параметры: * bool 'plugin' - модуль является плагином * bool 'single' - выполнить в single mode * bool 'time' - выполнить после наступления времени (int метка времени Unix) * @return bool */ public function executeOnce($module, $method, array $params = [], $multiple = false, array $options = []) { } }