[ PHP ] 一定時間または指定日時まで処理を停止する ( time_sleep_until )

Pocket

ここでは、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);

参考
スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *