Я хочу написать скрипт, который будет отправлять напоминание по электронной почте всем пользователям, которые подписались на событие (узел), используя дату события, которая установлена для каждого события.
Во-первых, как часто, как вы думаете, мне следует запускать cron?Я думал о том, чтобы запускать его каждый час и получать все события, где дата события больше, чем DATE_ADD (NOW (), INTERVAL 24 HOUR) и меньше, чем DATE_ADD (NOW (), INTERVAL 25 HOUR).Это звучит правильно?
Запрос, который я выполняю, следующий, хотя он не возвращает никаких событий, даже если я настроил событие так, чтобы он запускался через 24 часа.
$query = db_select('node', 'n');
$query->join('field_data_field_date', 'd', 'n.nid = d.entity_id');
$query
->condition('n.type', 'event', '=')
->condition('d.field_date_value', 'DATE_ADD(NOW(), INTERVAL 24 HOUR)', '>')
->condition('d.field_date_value', 'DATE_ADD(NOW(), INTERVAL 25 HOUR)', '<')
->fields('n')
->fields('d')
;
Есть идеи, в чем проблема или есть лучшее решение?