Drupal → Периодическое выполнение действий Rules

18.12.2013

Пример автоматического выполнения 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
Похожие записи

Добавить комментарий