Работы Cron застряли в drupal 6

Я поддерживаю сайт на drupal 6. У меня установлен модуль рождения, который может отправлять письма пользователям на их bday. Но он этого не делает. Ни одна из других задач, связанных с cron, не выполняется, хотя cron работает ежедневно, и я получаю уведомление по почте. Я попытался установить новый модуль под названием ultimate cron (6.x-1.7), это могло бы решить мою проблему раньше, когда я его последний раз установил. Но при повторной установке это также не работает. Ни один из инициированных правил, которые должны быть запущены при запуске cron, запускается.

В конфигурации сайта -> cron перечислены все процессы, но они находятся в состоянии запуска. И на странице фонового процесса она показывает первую задачу с 0 -процессом, а никто другой не обрабатывается. Я попытался установить последнюю версию конечных модулей cron, но это дает некоторую ошибку, говоря « Неизвестное поле: начать штамп ». Пожалуйста, помогите мне с этим.

Solutions Collecting From Web of "Работы Cron застряли в drupal 6"

Для последней версии Ultimate Cron вам также нужны последние версии фонового процесса и прогресса. Возможно, версии не совпадают, или схема базы данных, возможно, не была должным образом обновлена. Попробуйте полностью удалить Ultimate Cron, фоновый процесс и прогресс, а затем переустановите их.

Я бы сказал, что rtfm (это f для «дружественных») для модуля дня рождения. Он явно хочет, чтобы поле CCK не существовало. Переконфигурируйте, повторите попытку.

Я использовал временный патч для временного запуска каждого из них. Это помогает много отлаживать проблемы cron.

Я разместил патч для D8 / D7 здесь:

http://drupal.org/node/1143082

Фрагмент кода для ручного исправления D6 можно найти здесь:

http://drupal.org/node/23714#comment-2633550

т.е. D6 common.inc drupal_cron_run

// Iterate through the modules calling their cron handlers (if any): $cron_timer = variable_get('cron_timer', '1'); // can add to settings form, defaults to on if ($cron_timer) { // start timer for cron total timer_start('cron'); foreach (module_implements('cron') as $module) { watchdog('cron', t('Starting cron for @module', array('@module' => $module))); $function = $module .'_cron'; // start timer for this module, using module cron function name as id timer_start($function); // call cron hook $function(); $timer = timer_stop($function); // get total in seconds $total = round($timer['time']/1000, 2); watchdog('cron', t('Cron time elapsed for @module is @secs seconds.'), array('@module' => $module, '@secs' => $total) ); } $cron_timer = timer_stop('cron'); $total = round($cron_timer['time']/1000, 2); watchdog('cron', t('Cron time total was @secs seconds.'), array('@secs' => $total) ); }else{ // just run cron module_invoke_all('cron'); } 

НТН