ホームページ  >  記事  >  バックエンド開発  >  PHP 関数ignore_user_abortを使用して、スケジュールされたタスクと継続的なプロセスインスタンスを実装します。

PHP 関数ignore_user_abortを使用して、スケジュールされたタスクと継続的なプロセスインスタンスを実装します。

WBOY
WBOYオリジナル
2016-06-13 13:03:521104ブラウズ

PHP 関数ignore_user_abort を使用して、計画されたタスクと継続的なプロセス インスタンスを実装します

PHP 組み込み関数研究シリーズの第 2 号では、PHP 関数ignore_user_abort を使用して、計画されたタスクと継続的なプロセス インスタンスを実装し、検出可能な効果のある例を通じて、ignore_user_abort() 関数の役割と使用法について説明します。

ignore_user_abort() クライアントを閉じても PHP コードを実行することができ、実行スクリプトを開くだけで、いわゆるスケジュールされたタスク機能と継続的なプロセスを実現できます。 Apacheなどのサーバーが再起動したり、出力のあるスクリプトがある場合、PHPスクリプトは常に実行状態になります。これは一見非常に実用的ですが、その代償としてPHPがスクリプトを実行する継続的なプロセスが必要になります。高価ですが、それは可能です 多くの予期せぬ機能を実現します。

その説明は、クライアントからの切断によってスクリプトの実行を終了するかどうかを設定することです。

1. 関数プロトタイプ
intignore_user_abort ( [bool settings] )

2 つ、バージョン互換性あり
PHP 3 >= 3.0.7、PHP 4、PHP 5

3. 基本的な使い方と関数の例
1、関数の基本的な使い方

ignore_user_abort();
?>

説明:ignore_user_abort() 関数を呼び出して、クライアントが切断されてもスクリプトの実行が終了しないことを宣言します。

2、set_time_limit() 関数と組み合わせて、ループ スクリプト実行タスクを実装します

ignore_user_abort();
set_time_limit(0);
$interval=60*15;
する{
//業務を実行
}while(true);
?>


説明:

3 を 15 分ごとのループで実行し、実装ファイルの出力をカスタマイズし、ignore_user_abort() 関数の実行結果を追跡します

ignore_user_abort (TRUE);
set_time_limit (0);
$interval = 10;
$stop = 1;
{
を実行します ?? ?if( $stop == 10 ) ブレーク;
?? ?file_put_contents('liuhui.php',' 現在の時刻: '.time().' 停止: '.$stop);
?? ?$stop++;
?? ?スリープ ( $interval );
} while (true);
?>

liuhui.php ファイルを開きます。ファイルの内容は次のとおりです:
?現在時刻: 1273735029 ストップ: 9

原則として、クライアントがスクリプトを終了してもスクリプトは 10 秒ごとに実行され、現在時刻と終了時点が出力されるため、ignore_user_abort() 関数の具体的な効果をテストできます。

例を通して、ignore_user_abort() 関数は非常に実用的で、計画されたタスクの実装、後続のタスクの完了、プロセスの継続に非常に効果的であることがわかりました。詳細については、PHP マニュアルを参照してください。次回のPHP組み込み関数研究シリーズにご注目ください。

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