ここでは、PHP スクリプトの動作を一定時間または指定した日時まで停止(スリープ)するサンプルコードを掲載しています。
スポンサーリンク
処理を一定時間または指定日時まで停止する
処理一定時間または指定日時まで停止するサンプルになります。sleep, usleep, time_nanosleep 関数で一定時間処理を停止、time_sleep_until 関数で指定日時まで処理を停止しています。詳細はサンプル内のコメントを参照ください。
// 秒指定でのスリープ(5秒) sleep(5); // マイクロ秒指定でのスリープ(2000000 マイクロ秒 = 2秒) usleep(2000000); // ナノ秒指定でのスリープ $nano = time_nanosleep(2, 100000); if ($nano === true) { echo "2 秒と 100000 ナノ秒スリープ\n"; } elseif ($nano === false) { echo "遅延に失敗しました。\n"; } elseif (is_array($nano)) { $seconds = $nano['seconds']; $nanoseconds = $nano['nanoseconds']; echo "シグナルによって中断しました。\n"; echo "残りの秒数は $seconds 秒と $nanoseconds ナノ秒です。"; } // 指定した日時までスリープする。 // なお、システム日時よりも未来時間を与える必要がある。 $until_sleep = strtotime("2016-01-25 15:22:10"); time_sleep_until($until_sleep);
参考
- sleep - 実行を遅延させる
- usleep - マイクロ秒単位で実行を遅延する
- time_nanosleep - 秒およびナノ秒単位で実行を遅延する
- time_sleep_until - 指定した時刻まで実行を遅延する