2010-08-09 80 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模塊,但它使用了supercron.php。這是我繼承的一個項目,被告知不要改變任何東西。它會保持原樣嗎? – Kevin 2010-08-09 21:44:01

+0

我能想到的唯一的事情就是有些東西試圖直接敲擊cron.php(例如cron作業),但Drupal內部的所有東西(包括Contrib模塊)都應該使用'hook_cron()',而不是抓取或做任何事情到'cron.php'直接。你應該沒問題。 – 2010-08-09 21:51:07

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

實際上,我發現很久以前有人將cron.php重命名爲cron.bk,因爲他們使用的是supercron.php。我會將服務器上的cronjob更改爲該文件,並查看會發生什麼情況。謝謝。 – Kevin 2010-08-09 14:26:55