ユーザーがサイトを訪問し、その訪問が非常に集中的なcronジョブをトリガーした場合、ページの読み込み速度が遅くなりますよね?ページはcronジョブの実行を待たずにロードされますが、cronジョブは並行して実行されるため、サーバーがビジー状態であるため、ページのロードが遅くなる可能性があります。
ユーザーがサイトを訪問し、その訪問が非常に集中的なcronジョブをトリガーした場合、ページの読み込み速度が遅くなりますよね?ページはcronジョブの実行を待たずにロードされますが、cronジョブは並行して実行されるため、サーバーがビジー状態であるため、ページのロードが遅くなる可能性があります。
回答:
短い答え- いいえ。ページ要求は、スケジュールされたキューを初期化します。これは初期化リクエストです。Wp-cronリクエストはスタンドアロンのリクエストです。
したがって、URL
/somepage
を要求するには、要求を初期化するだけです/wp-cron.php
ただし、cronイベントがうまく機能しない場合(1000 dbクエリなど、応答時間が非常に長いリソースを要求している場合)、またはその両方、または各リクエストのcronイベントを再スケジュールする場合と同じように...他のhttpリクエストは、リソース、CPUパフォーマンス、メモリなどを消費します...十分なリソースを消費すると、ページが遅くなります。
ほとんどの場合、短い答えは実際にはyesです。
まず、ほとんどの設定では、1秒のタイムアウトでループバックHTTPリクエストを介して行われるため、cronジョブを生成するとページの読み込みで1秒の遅延が発生します-https://wordpress.org/support/topic/saveを参照してください-a-full-second-on-cron-execution /。
次に、生成されたジョブは、データベースアクセス(およびその他のリソース)のページロードと競合します。複数のプロセスがデータベースを同時に読み取ることができます。ただし、プロセスがデータベースに書き込むときは常に、デフォルトでロックされており、他のプロセスによる同時書き込みまたは読み取りアクセスを防止しています-/programming/1005206/does-sqlite-lock-the-databaseを参照してください-file-on-reads#answer-1005218。これの影響は、cronジョブのデータベース更新がどれほど複雑であるか、およびデータベースが実際にロックされる期間に依存し、重要ではない場合があります。もちろん、それはまた、ページが要求されたときにcronジョブを実行していることが起こった場合に問題になりますが、ページの読み込みに生み出されたcronジョブ持つでしょう保証を それらは少なくともそのページの読み込みに影響します。
サーバー/ホスティングが許可する場合は、次のコマンドを使用して、スケジュールされたcronジョブを数時間ごとに実行するようにセットアップすることをお勧めします
php -q /path/to/wp-cron.php
で次のエントリを使用して、ページの読み込み時にcronの生成を無効にしますwp-config.php
。
define('DISABLE_WP_CRON', true);