ホームページ  >  記事  >  バックエンド開発  >  PHPでスリープ機能をベースにしたスケジュール実行機能を実装する方法

PHPでスリープ機能をベースにしたスケジュール実行機能を実装する方法

墨辰丷
墨辰丷オリジナル
2018-06-01 14:51:551640ブラウズ

PHP にはスリープ関数があります。これはおそらく、プログラムの実行がスリープ関数に遭遇すると、N 秒間一時停止してから実行を継続することを意味します。たとえば、sleep(10) は、sleep(10) ステートメントに遭遇した後、プログラムが 10 秒間停止し、その後、スケジュールを設定する必要がある場合に実行を継続することを意味します。たとえば、10 秒以内に解答しなければならない問題があると、「タイムアウトしました」と表示され、完了すると次の問題にジャンプします。途中で一時停止します この機能はどのように実装されていますか?

PHP にはスリープ関数があります。これはおそらく、プログラムの実行がスリープ関数に遭遇すると、N 秒間一時停止し、その後実行を継続することを意味します。たとえば、sleep(10) は、プログラムが sleep(10) ステートメントに遭遇した後、10 秒間一時停止してから実行を継続することを意味します。関数括弧内のパラメータは、一時停止時間の値を秒単位で表す数値です。次のコードを見てください:

<?php
// current time
echo date(&#39;h:i:s&#39;) . "\n";
// sleep for 10 seconds
sleep(10);
// wake up !
echo date(&#39;h:i:s&#39;) . "\n";
?>

上記のプログラムの実行結果は次のとおりです:

05:31:23

05:31:33

おそらく、一部の子供たちは、次のときにプログラムの実行エラーが発生すると言うでしょう。例を実行して、タイムアウトを要求します。この問題が発生してもパニックにならないでください。これは PHP のデフォルトのページ実行時間によって引き起こされます。PHP のデフォルトのページ実行時間は、一般的なプログラムには十分な時間です。ただし、同様のスケジュールされた実行関数を実行する場合は、ヘッダー ステートメントで実行時間を set_time_limit(0) に設定する必要があります。 0 は時間制限がないことを意味し、単位は秒です。

実行時間が 30 秒を超える場合は、操作を実行する前に必ず MYSQL に再度接続してください。そうしないと、実行が無効になります。 ! !その理由は、実行時間が長すぎるとデータベース接続が切断され、データベース情報を読み取れなくなる可能性があるためです。

実際に実行して、インスタンスに一時停止機能を追加してから、先に進みます。

要約: 上記がこの記事の全内容です。皆様の学習に役立つことを願っています。

関連する推奨事項:

PHPの配列追加操作とarray_mergeとの違い


curl関数を使用してPostリクエストを送信するPHPに関する注意事項

php画像をデータ/base64データに変換するソースコード詳しい流れ説明

以上がPHPでスリープ機能をベースにしたスケジュール実行機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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