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 を手動で起動することができます。
- 管理者用URL、例えば example.com/wp-admin/
- “/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