cron 실행시 특정 모듈에서 계속 에러

안녕하세요!
두루팔 새내기입니다

얼마전에 블로그를 만들어야 겠다는 맘에 고민고민하다 두루팔을 써먹어볼까 해서
웹호스팅 신청하고 두루팔 한참 설치중에 manual cron 실행을 시켰는데
mysql 에러메세지가 쫙 페이지 장식한 일이 있었습니다

일단 cron이 문제인것 같았는데... admin 페이지 볼때마다 긴 로딩시간과 mysql 에러메세지
알고보니 search module의 인덱싱 관련해서 cron modules 의 문제였습니다

일단 search 모듈은 언인스톨하고
DB 테이블중에 cache_*, cache 전체 비워버리고
variable 에 있는 cron_last 와 cron_semaphore 삭제

그리고 다시 cron 실행
그러나 다시 에러..계속삽질해봐도 에러...구글링해봐도 영어가 짧아 별수 없더라구여

할수없다 싶어 모든 DB날려버리고 spep by step으로 재설치 해봤습니다
그리고 알게된 사실은 특정 module 설치시 cron 실행하면 계속해서 watchlog 엔티티에
"Attempting to re-run cron while it is already running." 메세지 출력하며 cron이 실행이 안되더군요
위에서 언급한대로 cache테이블 비우고 variable 에 있는 cron_last 와 cron_semaphore 삭제하고
해도 역시 계속 실패 ㅠㅠ
근데 그 모듈이 한두가지가 아닙니다
아래 나열하면 (각개 하나씩 모듈 활성화 했다 비활성화 했다 DB건드렸다 하며 테스트 해본 결과 입니다)
- Automatic Nodetitles
- CSS Injector
- Wikitools
- Workflow
- Workspace
- image Fupload
- poormancron (이넘 까지 안먹힘)
- (더이상은 테스트 안해봤음)

php 메모리하고 로딩시간 부족한가 싶어 setting.php에
memory_limit 128M, max_execution_time 0 넣고 해봐도 fail... 환장하겠습니다
뭔가 확실한 처방전이 있을까요?

참고로
drupal 6.16
apache 2.2.3 (CentOS)
php 5.2.9
mysql 5.0.77 입니다

다음 방법은

다음 방법은 어떤가요.

cron.php 에
set_time_limit(360); // 6분 정도. 시간이 긴 편입니다.

최근에 저도 이렇게 해서 해결했습니다.
http://palpal.org/ko/node/363#comment-454
를 참고했습니다.

이렇게 해 두고 기다려 보십시오. 바로 좋은 결과가 나오지는 않습니다.

"Attempting to re-run cron while it is already running." 는
정말로 이미 실행 중이기 때문입니다. 그것이 자꾸 실행 실패(아마도 시간 부족)로
다른 실행을 막는 것이 아닌가 싶네요.

답변감사드립니다. 하

답변감사드립니다.

하지만 말씀하신 방법이 먹히지 않는군요

짐작컨데 지금생각해보면
두루팔의 문제가 아니구
php의 문제도 아니구 mysql관련 문제인것 같습니다
정확히 먼지는 모르지만...search모듈 설치시에 mysql에러 메세지 출력한다구 했잖어요

웹호스팅이라 퍼미션 다 막혀서
ssh로 아예 my.cnf 화일이 어디에 있는지도 확인 할 수 없으니..

포기하구 6일째 전화해서 환불해 달랬드니 5일지나면 환불 안된다네요(약관명시)
아우 짜증....아무튼 전 재미없게 됬습니다.

검색덕분에 방법을

검색덕분에 방법을 알아냈습니다

mysql관련 my.cnf에서
[mysqld]
wait_timeout = 15 // 이 값을 증가시키면 됩니다

예를들면
wait_timeout = 60

그러나 웹호스팅이라서 mysql설정을 바꿀수 없겠죠..호스팅 업체에서 바꿔줄리도 만무하구요
저는 ssh로 퍼미션이 모두 막혀있어서 my.cnf가 어느 디렉토리에 존재하는지도 확인 못했습니다.
그래서 무식하면 비싼 웹호스팅을 이용해야 하나 봅니다

그러나 방법이 있더군요

첫번째
includes/database.mysql.inc 화일에서
function db_connect()함수부분
mysql_query('SET NAMES "utf8"', $connection); 아래에 다음을 추가하고
mysql_query('SET SESSION wait_timeout = 60', $connection);

두번째
includes/database.mysqli.inc 화일에서
function db_connect()함수부분
mysqli_query($connection, 'SET NAMES "utf8"'); 아래에 다음을 추가하면 됩니다.
mysqli_query($connection, 'SET SESSION wait_timeout = 60');

그랬드니 바로 manual cron 돌아가고 업데이트 성공

원문 링크를 첨부합니다
http://drupal.org/node/259580#comment-1511512

headshaker 님. 포기하지

headshaker 님. 포기하지 않고 끝까지 풀어내셨군요.
저희들도 기쁩니다! 아울러 좋은 해결책까지 기록해 주셔서 감사합니다.
분명 다른 분들에게도 도움이 될 겁니다.

includes면 코어

includes면 코어 부분이라 나중에 버전업시 덮어쓰기 될테니 잘 챙겨야 할 껍니다.

가능하다면 php error 로그를 살펴보는 것도

가능하다면 php error 로그를 살펴보는 것도 좋겠습니다.
특정 모듈의 버전 업그레이드 이후로 PHP Fatal error: Call to undefined function ... 문제가 생기는 경우가 있었습니다.
크론 실행시 화면은 하얗게만 변하고 아무 것도 나타나지 않게 됐는데,
php의 에러 로그에는 정확한 원인이 기록돼 있어 해결할 수 있었습니다.