Drupal 6のnoobの質問。 Drupal 6管理者からcronタスクのリストを取得する方法はありますか?私はサイトのテーマです。元の開発者はもういません。誰もが遅いことと500.shtmlエラーに不満を持っています。ログを調べたところ、これらは1時間ごとに実行されるcronタスクに最も関連していることがわかりましたが、それらのジョブが何であるかはわかりません。リストを取得したら、Drupal内から不要なタスクを無効にする方法もあります。 ?
クライアントマシンでWindowsを実行しています。 DRUSHを持っていません。
前もって感謝します
Elysia Cronがインストールされておらず、純粋なデバッグの観点から、どのモジュールのcronが実行されているか、および実行にかかる時間を確認する必要がある場合は、[〜# 〜] temporarily [〜#〜] _includes/common.inc
_のdrupal_cron_run()
関数を次のように編集します...
_// Iterate through the modules calling their cron handlers (if any):
// module_invoke_all('cron'); // watchdog how long each hook takes now...
$details='';
foreach (module_implements('cron') as $module) {
$start=microtime(TRUE);
$function = $module . '_cron';
$function();
$finish=microtime(TRUE);
$duration=$finish - $start;
$details.='<pre>' . $module . ': ' . $duration . ' seconds</pre>';
}
// Record cron time
variable_set('cron_last', time());
watchdog('cron', 'Cron run completed.' . $details, array(), WATCHDOG_NOTICE); // . in $details here :)
_
たとえば、module_invoke_all()
をコメント化し、代わりにmodule_implements()
を介してループし、個々のcronの実行にかかった時間をログに記録します。
または単純な使用
drush ev 'var_dump(module_implements("cron"))'
存在するcronジョブをリストします。