Центральный крон

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



В системный cron на сервере необходимо добавить скрипт — /application/utilities/cron/main.php с периодом 1 раз в 2 минуты.
Далее в специальном интерфейсе в админке можно управлять списком задач. По умолчанию созданы две задачи — очистка старого кеша и рассылка отложенных емайл сообщений. Там же можно в ручном режиме добавить новую задачу, в качестве вызываемого метода указывается полный синтаксис вызова метода модуля.

Центральный крон может работать в двух режимах — последовательное выполнение задач и параллельное (fork). Параллельный режим пока работает в тестовом режиме, т.к. до конца не протестирован. Выставляется режим в конфиге: $config['module']['cron']['use_fork'] = false;

Плагины могут добавлять в крон свои задачи. Для этого в главной файле плагина достаточно прописать специальные вызовы при активации и деактивации плагина.

public function Activate() {
    $this->Cron_CreateTask('Тестовая задача','PluginArticle_Main_RunTest',6,$this);
    return true;
}

public function Deactivate() {
    $this->Cron_RemoveTasksByPlugin($this);
    return true;
}