정기적인 CRON 작업을 멈추게 하는 문제 모듈을 찾고 싶을 때
드루팔의 크론 실행이 잘 안된다고 느끼는 경우에는,
어떤 모듈에서 에러가 나는지 로그를 남길 필요가 있다.
(물론 다른 원인에 의해서 크론 실행이 안될 수도 있다)
크론 실행되는 도중에 해당 모듈들이 사용되는
경우를 확인하는 법은, 아래의 구문을 크론 관련 모듈 소스에
추가하면 된다.
if ($hook == 'cron') watchdog('cron', "hit $module cron");


댓글
1 comment posted직접적인 장소로는, 코어를 손대서 좋지는 않지만...
includes/module.inc의 약 480라인 근처의
*******************************************
foreach (module_implements($hook) as $module) {
$function = $module .'_'. $hook;
*******************************************
바로 아래에 다음과 같은 구문을 넣으면 되겠다.
if ($hook == 'cron') watchdog('cron', "hit $module cron"); // add this line for DEBUG
그러면, 관리화면의 로그 항목에 크론 실행시 로그가 남는다.
문제있는 모듈을 찾아보다. hook_cron()함수가 각 모듈에서 임플리먼트돼서 사용중인게 기록된다.