WP-Cronの概要

WP-Cronは、WordPressの電源を入れたサイトのための特定のタスクを実行します。 Cronという名前は、1分に1回から1年に1回の範囲のジョブをスケジューリングするためのUnixシステムから来ています。 定期的なメンテナンスであろうと、スケジュールされた警告であろうと、ユーザーの介入なしにUnix上で実行できるコマンドは、CronタスクとしてスケジューWP-Cronは本質的にCronに似ていますが、いくつかの非常に重要な点が異なります。

WP-Cronは本質的にCronに似ていますが、いくつかの非常に重要な点 この機能は、WordPressの日常的なタスクを処理するためだけに設計されています:

  • WordPressのコア、テーマ、プラグインの新しいバージョンを確認してください
  • スパムをクリーンアップ

プラグインやテーマは、定期的に実行されるタ あなたのつぶやきのためのTwitterをスキャンし、コメントにそれらを組み込むプラグインを持っている場合たとえば、それは最も可能性の高いWP-Cronの WP-Cronは、WordPressの電源を入れたサイトが行うことができます物事の全く新しい世界を開きます。WP-Cronはどのように起動されますか?CronとWP-Cronの主な違いは、WP-Cronがどのようにトリガーされるかです。

CronとWP-Cronの主な違いは、WP-Cronがトリガーされる方法です。 Cronは毎分実行され、実行するタスクを探すシステムプロセスです。 WP-Cronは、webベースのシステムであるため、誰かがサイトを訪問したときにのみ実行できます。 したがって、誰かがあなたのWordPressサイトに移動すると、WP-Cronは何かを行う必要があるかどうかを確認します。 WordPressのコア開発者のおかげで、サイトのパフォーマンスに悪影響を及ぼさない方法でこれを行います。

トラフィックの低いサイトの問題

トラフィックの低いWordPressサイトでは、この機能が訪問者によってトリガーされると、スキップされたタス 人々があなたのサイトを訪問していない場合、WP-Cronは実行できません。 これは、誰かが最終的にあなたのサイトを訪問したときに、あなたのページが以前の仕事から遅くなることを意味するものではありません。 WP-Cronが実行しなければならないタスクの数にかかわらず、それらはバックグラウンドで実行されるので、サイトのパフォーマンスは悪影響を受けま

高トラフィックサイトの問題

あなたのWordPressの電源サイトが高トラフィックである場合は、WP-Cronの問題に遭遇する可能性があります。 出てくる主な問題は、競合状態と長時間実行されているプロセスです。

  • 競合状態: 複数のユーザーがあなたのサイトを訪問し、同じタスクを実行するためにWP-Cronをトリガーするとき。 WP-Cronは競合状態を排除するために懸命に働いていますが、特に交通量の多いサイトでは依然として発生する可能性があります。
  • 実行時間の長いプロセス:実行に標準の60秒よりも長い時間がかかるタスク。 開発者は、PHPタスクの実行時間をset_time_limit()wp-cron.phpの複数のコピーが実行される可能性があります。

これらの問題はどちらもWP-Cronの内部ロック内で対処されており、一般的な問題ではありませんが、それでも時折発生する可能性があります。WP-Cronを内部的に管理する

WP-Cronは事前に設定され、実行する準備ができているので、WordPressサイトで有効にするために何もする必要はありません。

WordPressの初期インストール中に、いくつかのタスクが自動的に設定されます。 コマンドラインからいくつかの簡単なコマンド、またはいくつかのプラグインのいずれかを使用して、WP-Cronによって実行されている正確なジョブをCliからWP-Cron

Terminusがインストールされている場合は、WP-Cronで何が起こっているのかのすべての詳細を簡単に見ることができます。 Terminusは、WP-CLIを介して、次のような詳細を表示できます。

  • 実行する予定のもの
  • 次に実行する予定のもの
  • 設定されているイベントフック

独自のジョブをスケジュールし、既存のジョブを実行し、WP-Cron関連するすべてのものをコマンドラインから管理することもできます。最初にやりたいことの1つは、WP-Cronをテストしてすべてが正常に動作していることを確認することです。 以下のコマンドを実行するときは、必ずSite_NAMEをPantheonダッシュボードのサイト名に置き換え、ENV_NAMEを目的の環境(”dev”、”test”、”live”、またはmultidevブランチ名)に置き換えてくださすべてが正常に動作する場合、結果は次のようになります。

Success: WP-Cron spawning is working as expected.

これにより、WP-Cronがサイトで正常に動作していることがわかります。 ここから、WP-CLIを使用してcron関連のコマンドを実行できます。 Wp-CLIを使用してPantheonでホストされているWordPressサイトを管理する場合は、Terminusを使用する必要があります。 コマンドの形式は次のとおりです。

terminus wp <site>.<env> -- cron <your wp-cron command and switches here>

すべてのterminus wpコマンドを動作させるには、サイト名と環境が必要です。

注意

ダッシュボードのセキュリティ設定を使用してサイトを保護している場合、Terminusはcronを実行できず、ダッシュボードにステータスレポートエラーあなたはWP-Cronに目を維持したいが、コマンドラインが好きではない場合は、あなたが使用できるいくつかのプラグインがあります。 WP Crontrolは、たとえば、あなたのサイトに予定されているすべてのイベントが表示されます。 WordPress管理ダッシュボードからすぐにジョブを作成、編集、実行、または削除できます。 また、[ツール]セクションから新しいアクションをスケジュールにフックしたり、既存のアクションを新しいスケジュールに移動したりすることもできます。WPX Cron Manager Liteは、わずかに異なるUIで同様の仕事をします。 このプラグインを使用すると、プラグインマネージャページから直接行うことができますWPXフレームワークのワンタイムインストールを行う必要があります。あなたのサイトのcronジョブをより詳細に制御したい場合、またはWP-Cronが内部的にタスクを処理したくない場合は、代わりに外部cronを使用できます。

Wp-Cronを外部に管理する

あなたのサイトのcronジョブをより詳細に制御したい場合、またはWP-Cronが内部的にタスクを処理したくない場合は、代わりに外部cronを使用することができます。 これは、高トラフィックと低トラフィックのサイトのために上記の問題を解決します。最初に行う必要があるのは、WP-Cronの内部処理を無効にすることです。 次の行をwp-config.phpファイルに追加します。

wp-config。PHP
define('DISABLE_WP_CRON', true);

注意

WP-Cronが世話をする多くの重要なタスクがあるので、以下のすべての手順を完了する準備をしてください。WP-Cronを無効にすると、一定の間隔でURLを呼び出すサービスが必要になります。 これを行う最も簡単な方法は、無料のcronサービスでアカウントを設定することです。

  • EasyCron
  • Set Cron Job
  • cron-job

上記のサービスのいずれかがジョブ WP-Cronを無効にすることで、wp-cron.phpスクリプトの自動チェックと呼び出しをオフにしました。 上記のサービスのいずれかを使用して、そのURLを自分で呼び出す必要があります。 それらのほとんどでは、これと同じくらい簡単です。

  1. アカウントの設定
  2. https://yourdomain.tld/wp-cron.php?doing_wp_cron

`yourdomainを置き換えます。あなたのドメインとtld`。使用しているサービスによっては、異なる時間に複数のジョブを設定できる場合があります。

使用しているサービスによっては、複数のジョブを サイトのwp-cron.phpスクリプトを15分ごとに呼び出す単一のジョブを作成するだけです。 WP-Cronは残りの世話をします。 15分に1回以上頻繁に実行する必要がある新しいスケジュールを作成する場合は、それに応じてジョブを調整する必要があります。doing_wp_cronクエリ変数に値を追加しないことが重要です。cronが正常に動作するには空でなければなりません。独自のサーバーを管理する場合は、cronサービスを使用してwp-cron.phpスクリプトを呼び出すことができます。 Cronジョブを適切に設定し、wgetcurlようなものを使用してwebページを取得する方法を学ぶ必要があ 特別な予防措置を講じない限り、独自のサーバーとwebベースのcronサービスを使用する方が安全ではありません。ほとんどの場合、wp-cron.phpdoing_wp_cron$_GET値はフィルタリングされません; これはフラグとしてのみ使用され、プロセスや変数の入力としては使用されません。 それを超えて、すべての入力は無視されます。

インターネットに接続されたサーバー上のスクリプトは100%安全ではありませんが、wp-cron.php現在、既知の脆弱性や悪用はありません。WordPressには、内部のWP-Cronタスクと外部のCronジョブの両方を制御する多くのプラグインがあります。 PantheonはCronサービスを提供していないため、特定のプラグインの使用を推奨または推奨しません。 WordPressのCronプラグインのリストをチェックし、開発環境で実験して、ニーズに最も適したものを見つけることをお勧めします。

コメントを残す

メールアドレスが公開されることはありません。