Скрипт cron.php используется в Друпале для выполнения поиска (индексации контента), отправки писем подписчикам, сбора rss-фидов, удаления "древней" статистики и т.д. Модули сами могут давать задания для выполнения по расписанию.
На drupal.org присутствует немалое количество модулей, которые позволяют тем или иным образом взаимодействовать со скриптом крона. Наиболее популярными среди них являются: SuperCron и Poormanscron. Первый имеет неплохой набор настроек для автоматизации и планирования крон-задач и является очень перспективным, а второй - что касается настроек - может похвастаться только интервалом запуска скрипта cron.php.&n bsp; На мой взгляд, модуль Elysia cron - наиболее правильный и удобный, ведь этот модуль, благодаря своей исключительной гибкости и юзабельности уделывает конкурентов по-взрослому. Уникальность его состоит в наличии API, и в конфигурировании в виде unix-crontab синтаксиса (фича состоит в возможности планирования времени выполнения для каждого задания отдельно). Преимуществами модуля являются:
- возможность расширенного планирования для крон-процедур других модулей, при чем для каждого отдельно ("тяжелые" задачи будут выполнятся реже, а "легкие" чаще);
- возможность отключать определенные процедуры, в случае их ненадобности;
- возможность принудительного запуска конкретных крон-процедур;
- возможность создания групп (каналов) процедур;
- удобный интерфейс;
- возможность создания своей крон-задачи непосредственно с пользовательского интерфейса;
- существенный прирост производительности.
И это далеко не все фичи данного модуля. Подробнее с ними можно ознакомится, перейдя на страницу модуля: http://drupal.org/project/elysia_cron.
По умолчанию Elysia cron будет выполнять задачи последовательно (в одном канале) раз в час. Такое его поведение можно изменить на странице /admin/build/cron/settings.
При стандартной установке Elysia cron будет выполняться при запуске стандартного друпаловского cron.php. Но это вызовет накладки, плохо сказывающиеся на производительности (например управление кешем переменных (с таблицы variable)). С тем, чтобы избежать накладок и улучшить быстродействие, можно заменить файл cron.php, который лежит в корне сайта на такой же файл с папки модуля Elysia cron. В этом случае важно не забыть НЕ обновлять скрипт крона при апгрейде Друпала. Или же можно вызывать крон модуля непосредственно с кронтаба.
В модуле присутствует несложный API, который позволяет:
- определять больше одной процедуры в модуле;
- определять разные правила планирования для каждой процедуры;
- добавлять описание для процедуры.
