web-dev-qa-db-ja.com

特定の時間に毎日phpファイルを実行する

毎日午後7時にfileを実行するためのcronジョブを追加しようとしています。

File runコマンドを追加して、午後7時に実行するように指定するにはどうすればよいですか?

// Scheduled Action Hook
function run_my_script( ) {
// run my file : mysite.com/cron.php
}
// Schedule Cron Job Event
function USERS_MONITORING() {
if ( ! wp_next_scheduled( 'USERS_MONITORING' ) ) {
    wp_schedule_event( time(), 'daily', 'USERS_MONITORING' );
}
}
add_action( 'wp', 'USERS_MONITORING' );

もっと良い解決策があるかどうかわかりません。

2
octavelhiver

WP-cronが唯一の選択肢である場合は、PHPファイルを含めてタスクを実行できます。

// Scheduled Action Hook
function run_my_script( ) {
    require_once('related/path/to/php/file.php');
}
// Schedule Cron Job Event
function USERS_MONITORING() {
    if ( ! wp_next_scheduled( 'USERS_MONITORING' ) ) {
        wp_schedule_event( strtotime('07:00:00'), 'daily', 'USERS_MONITORING' );
    }
}
add_action( 'USERS_MONITORING', 'run_my_script' );

関連パスを含める必要があることに注意してください。 URLでPHPファイルにアクセスしたい場合は、代わりにcURLを使用する必要があります。

また、@ arstが彼の投稿の1つで述べたように、

注: WP Cronは、サイトへの訪問によって引き起こされるため、正確な時間に実行することは保証されていません。定期的な走行が真夜中に「固執する」か、そこからゆっくり滑るかどうかは自信がありません。定期的に調整する必要があるかもしれません。

0
Jack Johansson