想請教一下.有人遇到過cron執行失敗的問題嗎?
小弟在今天執行cron時.竟然顯示執行失敗..整個傻眼= =.
我該從哪裡下手去找錯誤...因為沒顯示失敗的原因...只有在執行的那裡顯示失敗...
請指點一下.感謝
模块太多或者网站内容节点太多都会导致cron超时失败的, 只需要暂时关闭些消耗资源严重的模块(比如search index), cron就可以运行了,
aggregator 经常会有这个问题,暂时把它关闭掉,或者删除有问题的 feed 可能会有帮助。 ------------------------------------------- 网站建设
好像是消耗太多記憶體..我改了一下設定.可以使用了.(沒有關閉模組)
可以多跑一點,這樣一次跑就不會消耗太多 你的站流量大? -- from open mind to open source~
修改 includes/module.inc, 如下, 就可以在 watch dog 看到是哪裡掛掉的.
foreach (module_implements($hook) as $module) { $function = $module .'_'. $hook; if ($hook == 'cron') watchdog('cron', "hit $module cron"); // 加上這行 $result = call_user_func_array($function, $args); if (isset($result) && is_array($result)) { $return = array_merge($return, $result); } else if (isset($result)) { $return[] = $result; } }
dennys: tky最近也遇到cron執行上面的問題,手動執行cron的時候會跑很久跑不完。所以就按照你講得,加入一行程式碼在includes/module.inc,用watchdog去找哪裡有問題。 結果出來,是在執行search cron之後出現三行這樣的錯誤碼:
Invalid argument supplied for foreach() 在檔案 /home/public_html/drupal/modules/taxonomy/taxonomy.module 裡的第 1214 行。
居然是taxonomy.module出問題?真叫人難以置信。這個要怎麼解? 這是1214行左右的程式碼:
/** * Implementation of hook_nodeapi('update_index'). */function taxonomy_node_update_index(&$node) { $output = array(); foreach ($node->taxonomy as $term) { $output[] = $term->name; } if (count($output)) { return '<strong>('. implode(', ', $output) .')</strong>'; }}
系統總是顯示說cron正常運作;但這樣很難說是正常運作吧! Drupal版本是6.13最新版的說。
tky
怪怪的耶, 多出來的 log 應該是長得像這樣的, taxonomy 的訊息和你加的那幾行應該沒關係吧?
按理說,tky的watchdog應該要像dennys的貼圖這樣,不過中間從hit search cron這個項目到下一個項目之間,一定會出現三行
而且cron.php會一直不停地在load,執行非常久之後才有結果。
tky也覺得很奇怪說。
而且剛才發現,不只一個站有同樣的問題。 另一個也是從5.x升級到6.13的站(不同伺服器)也有這個問題。 不知為何,感覺這問題似曾相似?人老了,記不起來。
如果網站要跑cron.php然後呈空白頁面的話… 是因為記憶體不夠的關係嘛?想詢問大家一下
以下為我的系統設定… MySQL 資料庫 5.0.45 PHP 5.2.12 PHP register globals 已關閉 PHP 記憶體限制 512M Unicode 程式庫 PHP Mbstring 擴展
然後我的資料庫目前為1m
我的drupal為6.16版的
謝謝
心中常存善解、包容、感思、知足、惜福 (靜思語錄)
No news is good news!
如果是手動執行cron.php, 之後出現空白頁面是正常的, 代表正常執行完成。 不然你可以檢查 report -> recent log entries 裏面的記載。
我的cron.php有提示二週又二小時未corn。點了執行結果秀空白頁面… 之前還可以的…後來主機商有將我的主機升級後…就變這樣…所以想詢問是不是還有什麼設定上會變這樣~~orz哀
如果你是點擊report 裏面的連結去run cron, 那就不是手動的了 (ok, 也應該算半個手動)。我說的手動cron, 是直接輸入yoursite.com/cron.php, 如果執行完頁面空白, log裏面也顯示了執行時間,那就是ok。 代表問題可能出在cron module, 而不是server的設定。
如果手動cron之後,log沒有記載,那麽可能是max_execution_time 不夠用。你也可以試試看supercron。
立刻加入!
Re: cron 執行失敗
模块太多或者网站内容节点太多都会导致cron超时失败的, 只需要暂时关闭些消耗资源严重的模块(比如search index), cron就可以运行了,
aggregator 经常会有这个问题,暂时把它关闭掉,或者删除有问题的 feed 可能会有帮助。
-------------------------------------------
网站建设
Re: cron 執行失敗
好像是消耗太多記憶體..我改了一下設定.可以使用了.(沒有關閉模組)
Re: cron 執行失敗
可以多跑一點,這樣一次跑就不會消耗太多
from open mind to open source~
你的站流量大?
--
Re: cron 執行失敗
修改 includes/module.inc, 如下, 就可以在 watch dog 看到是哪裡掛掉的.
foreach (module_implements($hook) as $module) {$function = $module .'_'. $hook;
if ($hook == 'cron') watchdog('cron', "hit $module cron"); // 加上這行
$result = call_user_func_array($function, $args);
if (isset($result) && is_array($result)) {
$return = array_merge($return, $result);
}
else if (isset($result)) {
$return[] = $result;
}
}
Re: cron 執行失敗
dennys:
tky最近也遇到cron執行上面的問題,手動執行cron的時候會跑很久跑不完。所以就按照你講得,加入一行程式碼在includes/module.inc,用watchdog去找哪裡有問題。
結果出來,是在執行search cron之後出現三行這樣的錯誤碼:
Invalid argument supplied for foreach() 在檔案 /home/public_html/drupal/modules/taxonomy/taxonomy.module 裡的第 1214 行。居然是taxonomy.module出問題?真叫人難以置信。這個要怎麼解?
這是1214行左右的程式碼:
/*** Implementation of hook_nodeapi('update_index').
*/
function taxonomy_node_update_index(&$node) {
$output = array();
foreach ($node->taxonomy as $term) {
$output[] = $term->name;
}
if (count($output)) {
return '<strong>('. implode(', ', $output) .')</strong>';
}
}
系統總是顯示說cron正常運作;但這樣很難說是正常運作吧!
Drupal版本是6.13最新版的說。
tky
Re: cron 執行失敗
怪怪的耶, 多出來的 log 應該是長得像這樣的, taxonomy 的訊息和你加的那幾行應該沒關係吧?
Re: cron 執行失敗
按理說,tky的watchdog應該要像dennys的貼圖這樣,不過中間從hit search cron這個項目到下一個項目之間,一定會出現三行
而且cron.php會一直不停地在load,執行非常久之後才有結果。
tky也覺得很奇怪說。
而且剛才發現,不只一個站有同樣的問題。
另一個也是從5.x升級到6.13的站(不同伺服器)也有這個問題。
不知為何,感覺這問題似曾相似?人老了,記不起來。
tky
Re: cron 執行失敗
如果網站要跑cron.php然後呈空白頁面的話…
是因為記憶體不夠的關係嘛?想詢問大家一下
以下為我的系統設定…
MySQL 資料庫 5.0.45
PHP 5.2.12
PHP register globals 已關閉
PHP 記憶體限制 512M
Unicode 程式庫 PHP Mbstring 擴展
然後我的資料庫目前為1m
我的drupal為6.16版的
謝謝
心中常存善解、包容、感思、知足、惜福 (靜思語錄)
Re: cron 執行失敗
No news is good news!
如果是手動執行cron.php, 之後出現空白頁面是正常的, 代表正常執行完成。
不然你可以檢查 report -> recent log entries 裏面的記載。
Re: cron 執行失敗
我的cron.php有提示二週又二小時未corn。點了執行結果秀空白頁面…
之前還可以的…後來主機商有將我的主機升級後…就變這樣…所以想詢問是不是還有什麼設定上會變這樣~~orz哀
心中常存善解、包容、感思、知足、惜福 (靜思語錄)
Re: cron 執行失敗
如果你是點擊report 裏面的連結去run cron, 那就不是手動的了 (ok, 也應該算半個手動)。我說的手動cron, 是直接輸入yoursite.com/cron.php, 如果執行完頁面空白, log裏面也顯示了執行時間,那就是ok。 代表問題可能出在cron module, 而不是server的設定。
如果手動cron之後,log沒有記載,那麽可能是max_execution_time 不夠用。你也可以試試看supercron。