ホームページ  >  記事  >  バックエンド開発  >  PHP スケジュール済みタスクの実装と Linux crontab スケジュール済みタスク

PHP スケジュール済みタスクの実装と Linux crontab スケジュール済みタスク

巴扎黑
巴扎黑オリジナル
2016-11-23 15:31:482525ブラウズ

特定のプログラムを監視するために、スケジュールされたタスクが必要になる場合があります。プログラムは自動的に実行される必要があります。
1.ignore_user_abort()
ignore_user_abort() 関数を set_time_limit(0) および sleep($interval) と組み合わせて使用​​すると、プログラムの自動実行と更新を実現できます。
例:

//クライアントが切断されても(ブラウザを閉じるなど)、PHPスクリプトは実行を継続できます。

ignore_user_abort();

//実行時間は無制限で、デフォルトはPHPの実行時間は30秒ですが、set_time_limit(0)によりプログラムを無制限に実行できます

set_time_limit(0);

// 5分ごとに実行

$interval=60*5;

do{

$url = "http://yaolei.info";

$ch =curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setop t($ch , CURLOPT_TIMEOUT, 2);

$result =curl_exec($ch);

curl_close($ch);

// 5分間待ちます

sleep($interval);

}while(true);

上記のページを実行して閉じるだけで、プログラムは実行を続けます。
2. crontab
Linux には、crontab コマンドというより簡単な方法があります。crontab コマンドの機能は、特定の時間間隔でいくつかのコマンドの実行をスケジュールすることです。
crontabの使い方: crontab [ -e | -l | -r ] ファイル名 -e: タスクの編集 -l: タスク情報の表示 -r: 実行予定タスクの情報の削除
crontabの形式:
* * * * * コマンド
時間、日、月、週ごとに実行する crontab コマンド:

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。