iControlWP

この記事では、次のことを説明します:

  • WPクーロンとは何ですか?
  • それはどのように動作しますか?
  • なぜ失敗しますか?
  • WP Cronエラーが引き起こす問題とは何でしょうか。
  • WP Cron を修正する方法

それでは、始めましょう…

WP Cron とは?

Cron は将来のいつか実行される仕事をスケジュール化する UNIX コマンドです。 通常、定期的に実行されるジョブをスケジュールするために使用されます。

WordPressでは、wp-cron.Cronという名前のファイルを使用します。php を仮想的な cron ジョブ、またはスケジュールされたタスクとして使用し、

  • publishing scheduled posts
  • check for plugin or theme updates
  • sending email notifications
  • backing up
  • WordPress自動更新

どのように動作しますか?

すべてのページロード時に、WordPressはWP Cronを実行する必要があるかどうかをチェックします。

このファイルを呼び出すことは、ユーザーのページ ローディング時間を遅らせることなく、バックグラウンドで別のプロセスとして WP Cron を実行し続けることを支援します。 WP Cron が開始すると、必要なすべてのジョブが完了するか、サーバー構成で設定された実行時間に達するまで実行し続けます。

そのデフォルト構成で、WordPress はスケジュールおよびその他の関連タスクに本物の cron ジョブを使用しないことを説明することが重要です。 その代わり、WordPress サイトでページが読み込まれるたびに、WordPress は wp-cron.php ファイルを実行します。 これは基本的に、「まだ何かする時間ですか」と尋ねるものです。

ページのロード時にスケジュールされたタスクがあれば、それらが実行されます。

WP Cronはページロード時、つまり誰かがあなたのサイトのページを訪問した時のみトリガーされます。 これは、たとえば、午後 4:00 にスケジュールされたタスクがあっても、午後 10:00 まで訪問者がない場合、タスクはそれまで実行されないことを意味します。

注意: 時々、数字の文字列に続いて ?doing_wp_cron= がある URL が見えることがあります。

例えば:

https://example.com/what-is-wp-cron-article?doing_wp_cron=123456.874251298799871371475

これは、バックグラウンド処理(スケジュール投稿の公開など)を行うために、WordPress は、URL に?doing_wp_cron が付加された URL にリダイレクトするからです。

これについては、こちらをご覧ください。php ファイルが起動し、何かを送信する必要があるかどうかをチェックします。

多くの WordPress ホストで、これは意図したとおりに実行されます。 しかし、一部のホストではこの機能を実行できないようにしています。これは、多数の訪問者が仮想クーロン ジョブを何度も起動し、サーバーのリソースを使い果たす可能性があるためです。 また、潜在的なセキュリティ脆弱性でもあります。

もう 1 つの理由は、一部のプラグインやテーマが cron 処理中に致命的なエラーを引き起こすことがあり (正しくテストされていないことがあるため)、これにより cron プロセスの実行が中断されるからです。

ヒント: 決定的なものではなく、大きな問題の場合にポインターとしてのみ機能しますが、Shield のセキュリティ ダッシュボードでは、「最近のイベント ログ」セクションに、シンプルなテスト cron を最後に実行した時間を示すエントリがあります:

それで、cron が全般的に機能しているかどうかがわかります。 すべてのクーロンが動作しているわけではありませんが、WP Cron システムがおそらく問題ないことを意味します。

注意: WP Cron を手動で起動することができます。

  1. 管理者用URL、例えば example.com/wp-admin/
  2. “/wp-admin/” を “/wp-cron.php?” に置き換えてください。setcronjob”

リンクは次のようになります。

example.com/wp-cron.php?setcronjob

ただそのリンクを別のタブで開けば、WP Cron はトリガーされる。

WP Cron エラーによってどんな問題が発生しますか?

Cron が壊れている、正しく動作していない場合:

  • WordPressの自動更新が実行されない
  • プラグインやテーマの更新を確認できない
  • スケジュール投稿が公開できない
  • WordPressがスケジュールやその他の関連タスクに本物のcronジョブを使用しない場合、メール通知、自動更新、課金、入荷/欠品通知などは失敗することになります。
  • クーロンに依存するバックアッププラグインでは、サイトのバックアップに失敗する

また、

  • 更新がリリースされてから、更新をインストールするまで長い時間がある
  • プレミアムプラグインは更新コードで正しくリンクしない

    特定のプレミアムプラグインでは WordPress クーロンのカスタム更新コードをテストしていないです。 これは、クーロンが実行されたときに、その更新コードが機能せず、プレミアム アセットの自動更新が失敗することを意味します。

これらは、我々が見た最も顕著な問題のほんの一部です。

WP Cronの修正方法

WP Cronは問題があることがあり、cronがクラッシュする場所を絞り込むことは厄介な仕事です。

こちらの記事もおすすめです。

  • WordPress 自動更新がいつもうまくいかない理由

Leave a Reply