wpのバックグラウンドで動くpingの仕組み(wp-cron)
気になったので調べてみました。
まずはソースコードを追ってみました。
まず wp-includes/post.php に
wp_schedule_single_event(time(), ‘do_pings’);
という行が。
どうやらこれがスケジュールの登録をする関数のようで、wp_postmetaにmetakeyが「_pingme」の行を追加して送信待ちのpostを記録します。
この関数は wp-includes/cron.php にあって、同じファイル内の _set_cron_array という関数で wp_option.cron にスケジュール情報を格納します。
だいたいの仕組みがわかったところでググってみたら、詳しい説明が見つかりました。
http://another.maple4ever.net/archives/130/
なるほど。理解しました。
ちなみにcronのスケジュール情報はwp_options.option_name = ‘cron’ のフィールドに入ってます。
シリアライズされた情報が格納されているので、肉眼で見てもよくわかりませんが、wp-cron-dashboardというプラグインで可視化できます。
http://en.sourceforge.jp/projects/wppluginsj/releases/36895

wp-cron-dashboard