Доки по CRON
Умничка, а теперь по крону ICMS !?Вот и Вот
Обычно в инсталлере компонента регистрируют задачу, например так:
'interval' => 24, 'component' => 'content', 'model_method' => 'moveArticlesToArchive', 'comment' => 'Переносит просроченные статьи в архив', 'custom_file' => '', 'enabled' => 1, 'class_name' => '', 'class_method' => '' ));
interval — интервал выполнения задания вне зависимости как часто запускается сам файл cron.php который в корне сайта;
component — название компонента если используется для запуска метод модели компонента;
model_method — название метода модели компонента, используется если задано название компонента;
comment — текстовое пояснение задачи;
custom_file — путь до файла, содержимое которого будет выполняться;
enabled — включена или выключена задача;
class_name — файл|класс, пример: actions|cmsActions или класс, пример: cmsDatabase
class_method — статический (public static) метод класса, заданного выше.
В таблице cms_cron есть еще поле is_new — оно отвечает за то, что при добавлении нового задания, как я описал выше, оно выполнится первый раз сразу при ближайшем запуске cron.php в корне сайта. Будем говорить так, что при положительном значении поля, задание выполнится вне зависимости от интервала, однако после первого запуска значение этого поля автоматически станет равным 0.
Небольшой нюанс: если интервал (interval) указать как "0", то задание будет выполняться каждый раз при запуске системного задания, т.е. выполнением файла cron.php в корне сайта.
В данном примере мы создали задачу, которая будет выполняться каждые 24 часа запуская метод модели moveArticlesToArchive компонента content.
INSERT INTO `#__cron_jobs` (`job_name`, `job_interval`, `component`, `model_method`, `custom_file`, `is_enabled`, `is_new`, `comment`, `class_name`, `class_method`) VALUES ('Заголовок задачи', интервал выполнения, 'компонент(если есть)', 'метод в модели компонента', 'путь к файлу из которого выполнять(если указан компонент оставить пустым)', активирован?, , 'описание задачи', 'указать класс в файле(пустой если из компоненты)', 'указать метод в этом классе(пустой если компонента)');
INSERT INTO `#__cron_jobs` (`job_name`, `job_interval`, `component`, `model_method`, `custom_file`, `is_enabled`, `is_new`, `comment`, `class_name`, `class_method`) VALUES ('Проверка события', 0, 'calendar', 'checkTime', '', 1, 1, 'Проверяет подошло ли время события для уведомления о нем пользователя', '', '');