Пример автоматического выполнения Rules с периодичностью раз в день:
Создаём Rule с реакцией на Cron maintenance tasks are performed.
Добавляем условие Execute custom PHP code с кодом:
$last_run = variable_get('my_rule_name_last_run');
if (!$last_run || date('d', REQUEST_TIME) != date('d', $last_run)) {
variable_set('my_rule_name_last_run', REQUEST_TIME);
return TRUE;
}
Правило будет выполнено в ближайший запуск крона после 00:00.
Ещё один вариант — выполнять правило через каждые 6 часов:
if (REQUEST_TIME - variable_get('my_rule_name_last_run') >= 60*60*6) {
variable_set('my_rule_name_last_run', REQUEST_TIME);
return TRUE;
}
Правило будет выполнено через 6 часов в ближайший запуск крона.
Написанное актуально для
Rules 2.x
Добавить комментарий