2010-08-09 6 views

답변

1

cron.php은 멀티 사이트 설치에서도 올바른 방법입니다. Drupal은 HTTP_HOST를 검사하여 부트 스트랩 할 사이트를 확인합니다. 하나가 이름을 바꾸거나 이름을 바꾼 파일에 cron 작업을 실행하는 외에, 당신은 또한 Drush 상태 보고서 페이지에서 또는를 통해 그것을 실행할 수 있습니다 :

/usr/bin/php /path/to/drush.php -v -l http://example.com -r /path/to/drupal/ cron 

또는 단순히

drush -l http://example.com cron 
을 당신은 이름이 변경되었다는 의견에 언급

경로를 cron에 맞게 설정 한 경우.

+0

그들은 supercron.php를 사용하는 Supercron 모듈을 사용하고 있습니다. 이것은 내가 물려받은 프로젝트이며 아무것도 바꿀 수 없다는 말을 들었습니다. 그대로 두어도 괜찮습니까? – Kevin

+0

내가 생각할 수있는 유일한 것은 뭔가가 cron.php를 직접 (예 : cron 작업) 치려고 시도하지만, (기여 모듈을 포함하여) Drupal 내부의 모든 것이 가져 오기 나 아무것도하지 않는'hook_cron()'을 사용해야합니다 직접'cron.php '. 너 괜찮을거야. –

1

나는 hook_cron() 후크로 뭔가를하는 것입니다. 데이터베이스 쿼리에서 사이트를 지정할 수 있습니다.
이 그것을 구현하는 코드는 다음과 같습니다

<?php 
    function hook_cron() { 
     $result = db_query('SELECT * FROM {site} WHERE checked = 0 OR checked 
     + refresh < %d', time()); 

     while ($site = db_fetch_array($result)) { 
      cloud_update($site); 
     } 
    } 
?> 

내가이 당신이 찾고 있던 답 아니라는 것을 알고 http://api.drupal.org/api/function/hook_cron
에서 도난하지만 난 그게 올바른 방향으로 생각합니다. 나는 드루팔 (Drupal)에 일주일이다. 내가 좋아하는 것 같아요;)

+1

사실, supercron.php를 대신 사용하기 때문에 누군가 cron.php라는 이름을 오래 전에 cron.bk로 바꿨다는 것을 알았습니다. 서버에서 내 cronjob을 해당 파일로 변경하고 어떤 일이 발생하는지 확인합니다. 감사. – Kevin