Создание, сопровождение и продвижение сайтов на CMS Drupal

Ошибка запуска Cron

Ошибка запуска CronУ каждого рано или поздно может появиться ошибка на сайте сделанном на Drupal - "Ошибка запуска Cron". Обычная причина - крон зависает на выполнении какой либо операции превышающей лимит. Как решить эту проблему? Еще одна напоминалка.

Для начала попробуйте удалить переменную cron_semaphore либо из таблицы variable либо  редактором переменных из модуля Devel. Попробуйте запустить крон вручную из "Отчета о состоянии" системы. Если продолжает выдавать сообщение "Ошибка запуска Cron", тогда необходимо определить работа какого модуля приводит к ошибкам.  Для этого необходимо вывести служебную информацию в Системный журнал (таблица watchdog).

 

В модуль module.inc в функцию module_invoke_all после следующих строк:

foreach (module_implements($hook) as $module) {
$function = $module .'_'. $hook;

вставляем

if ($hook == 'cron') watchdog('cron', "hit $module cron"); // add this line

Последняя запись в "Системном журнале" и определит проблемный модуль зависания крона.

В моем случае проблема была в модуле Backup and Migrate при попытки архивирования огромной таблицы модуля Devel. Исключил данную отладочную таблицу из архивирования и крон заработал.