Как запланировать действие, которое будет надежно выполняться каждые 5 минут?


Мне нужно, чтобы функция выполнялась каждые N минут (это не обязательно должно быть РОВНО каждые N минут, но это все равно должно происходить в течение разумного промежутка времени, возможно, N+/- 5 минут)

Я прыгал между классом drupalqueue, job_scheduler, правилами, действиями и т. Д., И каждый раз мне кажется, что я натыкаюсь на стену.

Моя текущая настройка заключается в том, что я использую job_scheduler_trigger. Кажется, я правильно настроил его (используя базовое действие, созданное пользовательским интерфейсом "Отправить электронное письмо"), и я настроил его на запуск каждые 5 минут, но он НИКОГДА НЕ срабатывает. "Следующее" время выполнения просто продолжает увеличиваться должным образом, но "Последнее" время выполнения всегда "Никогда". Я понятия не имею, что я делаю не так, или даже если это лучший способ сделать это. enter image description here

 1
Author: Pierre.Vriens, 2015-09-10

1 answers

Использование Правил и планировщика правил (подмодуль правил ) кажется мне "правильным" подходом.

Что вам на самом деле нужно сделать, так это небольшое изменение того, что объясняется в учебнике Почасовые задачи с использованием планировщика правил : в вашем случае вы должны использовать смещение в 5 минут (вместо только через 1 час). И вам также нужно запускать cron каждые 5 минут (а не ежечасно, как в этом уроке).

И, как объяснено также в этом руководстве: Первоначально выполните компонент вручную (с этого момента каждые 5 минут правило будет выполняться снова).

Примечание: Как запланировать обычную работу с использованием правил в Drupal 7 - это еще один учебник, посвященный этой теме.

 1
Author: Pierre.Vriens, 2015-09-15 12:45:54