Запуск компонента Rules один раз в сутки в определенное время

Аватар пользователя strelkov.av strelkov.av 29 мая в 10:32

Добрый день, помогите пожалуйста, запутался уже совсем с рулзами

Есть сайт, есть крон задача на уровне сервере, которая запускает кроновскую ссылку друпала каждый час
В рулзах есть компонент, который просто шлёт письмо определенному ящику

Задача такая, чтобы этот компонент запускался один раз в сутки, например в час ночи

Я так понял что это сделать нужно так: создать в рулзах правило у которого Event-ом является запуск крона, в этом правиле создать один Action - Schedule component evalution
в котором выбираю
* компонент для запуска,
* указываю дату следующего запуска (в моём случае указал today + 25 hours, т.е. 0:00:00 текущего дня + 25 часов, т.е. следующий день в час ночи),
* идентификатор шелдуллера (указываю просто латинское название)

Вижу логику так, что когда срабатывает крон, допустим сейчас в 11:00, срабатывает моё правило которое в первый раз компонент получается не запускает, т.к. оно не было запланировано, но создаёт шелдуллер на следующий запуск, следующий день в час ночи, допустим в течении дня мой крон каждый час запускается, он из за этого правила каждый раз перезаписывает тот самый шелдуллер тем самым указывая всё также следующий день час ночи.

И вот тут самое интересное, наступает следующий день, час ночи но компонент не срабатывает, письмо не уходит.
Тут я так понимаю, что проблема в том, что когда наступает следующий день 0:00:00 срабатывает снова крон, он ведь получается снова смещает дату шелдуллера но уже относительно текущего дня, тем самым уже на следующий день, и в час ночи этого дня он уже не запустит этот компонент, т.к. не успело наступить это время текущего дня

Вопрос, как получается настроить чтобы именно в определенный час всё таки оно срабатывало, у меня получается просто будет множество таких заданий, который в абсолютно разное время нужно будет пинать

Комментарии