Все, кто сталкивался с запуском планировщика заданий Cron на Drupal 7 знают, что по умолчанию выбор интервала между выполнением заданий невелик, все задачи выполняются разом (чаще всего), и при этом запуск срабатывает только после посещения сайта любым пользователем.
Чтобы была возможность настраивать различное время выполнения заданий есть несколько вариантов:
1. Писать собственный модуль
2. Использовать Drupal Queue
3. Использовать модули.
Считаю, что первые два варианта стали неактуальны после выхода функционального модуля с дружественным интерфейсом Elysia cron.
При установке меню настройки крона модернизируется, и к уже существующим добавляются настройки интервала запуска задач, продолжительности выполнения процедур кроном (по умолчанию 240 сек.), настройки ключа запуска крона и т.д. Становится возможным принудительный запуск задач, а также создание собственных заданий.
Каждое задание можно настраивать отдельно в виде unix-crontab синтаксиса, ниже приведен скриншот странички помощи:
+---------------- minute (0 - 59) | +------------- hour (0 - 23) | | +---------- day of month (1 - 31) | | | +------- month (1 - 12) | | | | +---- day of week (0 - 6) (Sunday=0) | | | | | * * * * *
*/15 * * * * : Execute job every 15 minutes 0 2,14 * * *: Execute job every day at 2:00 and 14:00 0 2 * * 1-5: Execute job at 2:00 of every working day 0 12 1 */2 1: Execute job every 2 month, at 12:00 of first day of the month OR at every monday.
Кроме настройки интервала выполнения задач, нужно сконфигурировать время запуска самого Cron.
В Elysia cron можно вообще отключить зависимость старта крона от необходимости посещения пользователями сайта и настроить запуск Cron на любое время с помощью планировщика задач в Linux и Windows. Для обеспечения безопасности можно ограничить список узлов, имеющих доступ к запуcку Cron, прямо в модуле Elysia cron, не прибегая к ручной настройке файла .htaccess ил другим методам защиты.