Использование планировщика в правилах

Чтобы выполнить этот пример необходимо установить и включить модуль Rules Scheduler.

В этом примере мы создадим конфигурацию правил, которая отправляет e-mail пользователю, если он не входил в систему в течение недели.

Сначала нужно создать новый набор Действий (Action set) компонента и указать объект «Пользователь» в качестве параметра.

Добавить новое Действие (Configuration–Workflow – Components – Add new component) выбрать Action set нажать кнопку Continue

Action set

action set parametr user

Добавьте компоненту новое действие (Add  Action), System | Send mail

Send mail

И сконфигурируйте поля:

Value -  [user:mail]

Subject – User logged

Message - Hey, you haven't logged in to our site for a week now

Send mail configuration

Сохраните настройки.

Добавить новую конфигурацию правил (Configuration – Workflow – Add new rule) и укажите, что оно должно реагировать (React on event) на вход пользователя (User | User has logged in)

user has logged in

 Добавьте новое действие (Add Action) и выберите действие для добавления Rules scheduler | Schedule component evaluation.

schedule component evaluation

Выберите компонент, который мы создали ранее (шаг 1)

В секции Scheduled evaluation date укажите: +7 days.

В секции  Identifier укажите: Send login reminder to [account:uid]

schedule component evaluation settings

Добавьте еще одно действие (Add Action) и выберите действие для добавления Rules scheduler | Delete scheduled tasks.

delete schedule tasks settings

Поместите его перед действием  Schedule component evaluation

elements schedule

Таким образом запланированная дата всегда будет обновляться при входе пользователя в систему, и пользователь будет получать новые напоминания по расписанию.