WordPress における時間ベースのタスク・スケジューリング方法として、WP-Cron があります。更新のチェックや 予約投稿の公開など、いくつかの WordPress のコア機能は WP-Cron を利用しています。WP-Cron の「Cron」は、UNIX システムで利用可能な時間ベースのタスク・スケジューリングシステム「cron」に由来しています。
WP-Cron は、すべてのページロード時に、予定タスクのリストをチェックし、何を実行する必要があるかを確認することによって動作します。実行が予定されているタスクは、そのページのロード中に呼び出されます。
WP-Cron は、システム cron のように常時実行されません。ページロード時にのみ起動します。
午後02時00分にタスクを予定し、午後05時00分までページロードが発生しなかった場合、スケジューリング・エラーが発生する可能性があります。
WP-Cron を使用する理由
- WordPress のコアと多くのプラグインは、時間ベースのタスクを実行するためにスケジューリングシステムを必要とします。しかし、多くのホスティングサービスは共有であり、システム・スケジューラーへのアクセスを提供していません。
- WordPress API を使用すれば、WordPress の外に出てシステム・スケジューラーにアクセスするよりも簡単にスケジュールタスクを設定できます。
- システム・スケジューラーでは、時間が経過してタスクが実行されなかった場合、再試行されません。WP-Cron では、すべての予約タスクはキューに入れられ、次の機会 (つまり次のページロード) に実行されます。そのため、タスクが いつ 実行されるかは100% 保証できませんが、いずれ 実行されることは100%保証できます。