Доки по CRON
ЕСТЬ РЕШЕНИЕ
ЗАКРЫТО
#1
17 октября 2012 в 16:39
Ткните в документацию по CRON если не сложно… что то не могу найти…
#3
17 октября 2012 в 20:46
Умничка, а теперь по крону ICMS !?Вот и Вот
Сегодня в 13:20
#4
17 октября 2012 в 20:53
а что конкретно по CRON'у ICMS интересует?
#5
17 октября 2012 в 20:58
Ну я в компонент календарь хочу добавить уведомления. Мне нужен крон чтобы он проверял — подошло ли время уведомлять или нет — а если да посылать ЛС
За работу с cron отвечает класс cmsCron.
Обычно в инсталлере компонента регистрируют задачу, например так:
Называния элементов массива вроде бы ясны интуитивно, но на всякий случай расшифрую:
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.
Обычно в инсталлере компонента регистрируют задачу, например так:
'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.
#7
17 октября 2012 в 21:13
а при установке компонента добавить в задачи крон выполнение функции из модели(можно и из любого файла), которая будет проверять и кидать сообщение не пробовал?
вообщем для тебя будет что то типо
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, 'Проверяет подошло ли время события для уведомления о нем пользователя', '', '');
#8
17 октября 2012 в 21:15
еще есть поле is_new — только не понятно его функциональное предназначение 😊))
#9
17 октября 2012 в 21:22
Всё тогда :)) Будут скоро уведомления в календаре! :)))