multiplereportsonhowwp-cronはafarfrom 理想これはページがロードされるたびに実行されるためですが、ほとんどのシナリオでは不要です(必要なシナリオの1つは、schedule postsを使用する場合です)。
一般的なアドバイスは、wp-config.phpにdefine('DISABLE_WP_CRON', true);
を追加してから、実際のcronジョブをスケジュールすることです(十分な管理者アクセス権がある場合)。
しかし、 WP 3.3以降、 WP_CRON_LOCK_TIMEOUTがあります。これは、「1つのcronjobのみが起動される期間を定義する」というものです。
何百ものWPインストールを実行する場合、たくさんのcronジョブを作成しなければならず(そして削除すると、そのwpインストールを削除しなければなりません)、これは面倒になるかもしれません。したがって、 最近の解決法はdefine('WP_CRON_LOCK_TIMEOUT', 900);
を設定することです(wp-cronを900秒ごとに実行したい場合)。
問題は、誰でもこの目的でWP_CRON_LOCK_TIMEOUTを使用したことがあるということです。これは意図した用途ですか?
これがWP_CRON_LOCK_TIMEOUT
定数の意図的な使用方法です。
WordPressがロードされると、cronジョブが実行されているかどうかを確認します(cronがロックされている場合)。 cronがロックされていない場合、ロックを作成しようとします - ロックタイムアウトに達していないと、ロックを取得できず、cronは実行されません。
Cronジョブが実行されておらず、タイムアウトが経過した(つまりロックを作成できる)場合は、cronが実行されます。