cron 執行失敗

想請教一下.有人遇到過cron執行失敗的問題嗎?

小弟在今天執行cron時.竟然顯示執行失敗..整個傻眼= =.

我該從哪裡下手去找錯誤...因為沒顯示失敗的原因...只有在執行的那裡顯示失敗...

請指點一下.感謝

kulubaba 的照片

Re: cron 執行失敗

模块太多或者网站内容节点太多都会导致cron超时失败的, 只需要暂时关闭些消耗资源严重的模块(比如search index), cron就可以运行了,

aggregator 经常会有这个问题,暂时把它关闭掉,或者删除有问题的 feed 可能会有帮助。
-------------------------------------------
网站建设

Oscar0410 的照片

Re: cron 執行失敗

好像是消耗太多記憶體..我改了一下設定.可以使用了.(沒有關閉模組)

jimmy 的照片

Re: cron 執行失敗

可以多跑一點,這樣一次跑就不會消耗太多
你的站流量大?
--
from open mind to open source~

dennys 的照片

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;
    }
  }

tky 的照片

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

dennys 的照片

Re: cron 執行失敗

怪怪的耶, 多出來的 log 應該是長得像這樣的, taxonomy 的訊息和你加的那幾行應該沒關係吧?

Drupal cron

tky 的照片

Re: cron 執行失敗

按理說,tky的watchdog應該要像dennys的貼圖這樣,不過中間從hit search cron這個項目到下一個項目之間,一定會出現三行

Invalid argument supplied for foreach() 在檔案 /home/public_html/drupal/modules/taxonomy/taxonomy.module 裡的第 1214 行。

而且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版的

謝謝

心中常存善解、包容、感思、知足、惜福 (靜思語錄)

danny 的照片

Re: cron 執行失敗

No news is good news!

如果是手動執行cron.php, 之後出現空白頁面是正常的, 代表正常執行完成。
不然你可以檢查 report -> recent log entries 裏面的記載。

大魔王 的照片

Re: cron 執行失敗

我的cron.php有提示二週又二小時未corn。點了執行結果秀空白頁面…
之前還可以的…後來主機商有將我的主機升級後…就變這樣…所以想詢問是不是還有什麼設定上會變這樣~~orz哀

心中常存善解、包容、感思、知足、惜福 (靜思語錄)

danny 的照片

Re: cron 執行失敗

如果你是點擊report 裏面的連結去run cron, 那就不是手動的了 (ok, 也應該算半個手動)。我說的手動cron, 是直接輸入yoursite.com/cron.php, 如果執行完頁面空白, log裏面也顯示了執行時間,那就是ok。 代表問題可能出在cron module, 而不是server的設定。

如果手動cron之後,log沒有記載,那麽可能是max_execution_time 不夠用。你也可以試試看supercron

RSS feed