検索
ホームページバックエンド開発PHPチュートリアルPHP_PHPチュートリアルでスケジュールされたタスクを実装する方法の詳細な説明

PHP_PHPチュートリアルでスケジュールされたタスクを実装する方法の詳細な説明

Jul 21, 2016 pm 03:08 PM
phpタスク分析するタイミング成し遂げるバンドル方法はいプラン詳しい説明

udomeで分析してみたのですが、これがudomeの仕組みです
1. スケジュールされたタスクをすべてデータベースに保存します
2. ユーザーが操作を実行するか、ページを開くたびに、スケジュールされたタスクが順番に実行されます。時間切れと判断した後、ユーザープロセスで実行されます
予定のタスクコードは./source/function_cron.phpにあります
上記は予定したタスクについてのおおよその結果を解析しただけです。誰かがそれを取得する良い方法を持っていることを願っています。
ignore_user_abort()
私は以前、スケジュールされたタスクについて徹底的に研究し、スケジュールされたタスクについてはたくさんのアイデアがあると思います。 Web に最も適しているのは、DZ や PHPWind に似たトリガー タイプです。ほとんどの Web アプリケーションでは、このように行われます。また、安定したトリガーを提供するために、他にもいくつか紹介します。 crontab+wget または ab を使用して、スケジュールされたアクセスを提供します
2. Nohup + php を使用して、無限ループを作成します
3. トリガーを提供するには、キャッシュまたはデータベースを使用する必要があります。ループし、トリガー頻度を制御するには sleep または usleep を使用する必要があります
4、crontab+php
5、Web トリガー方法には違いもあります。1 つは時間指定トリガーで、もう 1 つは固定期間トリガーです。DZ と PHPWind は、どちらもスケジュールされたトリガーです。最終的に使用したのは固定期間トリガーです。具体的な実装アイデアは簡単に考えられるので、詳細は説明しません。ホストがある場合は、コマンド ライン PHP を実行する必要があります。コード内に記述することは可能です
ループを使用する場合は、ループを特定の処理プログラムから分離するのが最善です。そうしないと、メモリが増加し続けます。
今日、PHP マニュアルでこの関数 -ignore_user_abort を発見しました。この関数は、Linux での cron のようなスケジュールされたタスクの実装に役立ちます。実装方法を見てみましょう。
まず、PHPマニュアルでこの関数の説明を見てください
説明

intignore_user_abort ([ bool $setting ] )

クライアントの切断によりスクリプトが中止されるかどうかを設定します。

つまり、クライアントがブラウザを閉じるかどうかに関係なく、次のプログラムが実行されます。

そのパラメータを見てみましょう

Parameters

設定

設定されていない場合、関数は現在の設定のみを返します。

この関数は、ignore_user_abort 関数を有効にするかどうかを決定するパラメーターを受け取ります。

戻り値を見てください:


戻り値

前の設定をブール値として返します。


ここでは、前の設定が返され、値が bool であると書かれていますが、このステートメントは明らかに int 型です。信じられない場合は、php ファイルを作成してテストできます。それ。

ここまで述べましたが、PHP のこの機能を使用してスケジュールされたタスクを実装するにはどうすればよいでしょうか?別の関数を使用すると、この関数は set_time_limit0) を使用して、プログラムの実行時間を無制限に設定できます。 set_time_limit(0) を使用すると、プログラムを実行できます。無制限に。プログラムを実行する前に、ignore_user_abort (1) と set_time_limit (0) を追加するだけです。例を挙げてみましょう。


コードをコピーします

コードは次のとおりです:

ignore_user_abort(); // スクリプトをバックグラウンドで実行しますset_time_limit(0); // スクリプトを永久に実行します
$interval=30; // 15 分ごとに実行します…
do{
$fp = fopen('text3.txt','a');
fwrite($fp,'test');
fclose($fp);
sleep($interval ); // 15 分待ちます
}while(true);
?>






http://www.bkjia.com/PHPjc/327419.htmlwww.bkjia.com

tru​​ehttp://www.bkjia.com/PHPjc/327419.html技術記事 udome で分析したところ、udome が行うことは 1. スケジュールされたすべてのタスクをデータベースに保存する 2. ユーザーが操作を実行するか、ページを開くたびに、スケジュールされたタスクが順番に実行されます...
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
トラフィックの高いウェブサイトのPHPパフォーマンスチューニングトラフィックの高いウェブサイトのPHPパフォーマンスチューニングMay 14, 2025 am 12:13 AM

thesecrettokeepingaphp-poweredwebsterunningsmootlyunderheavyloadinvolvesseveralkeystrategies:1)emform opcodecoduceSciptionexecutiontime、2)aatabasequerycachingwithiThing withiThistolessendavasoload、

PHPでの依存関係注射:初心者向けのコード例PHPでの依存関係注射:初心者向けのコード例May 14, 2025 am 12:08 AM

コードをより明確かつ維持しやすくするため、依存関係が関心(DI)に注意する必要があります。 1)DIは、クラスを切り離すことにより、よりモジュール化されます。2)テストとコードの柔軟性の利便性を向上させ、3)DIコンテナを使用して複雑な依存関係を管理しますが、パフォーマンスの影響と円形の依存関係に注意してください。

PHPパフォーマンス:アプリケーションを最適化することは可能ですか?PHPパフォーマンス:アプリケーションを最適化することは可能ですか?May 14, 2025 am 12:04 AM

はい、最適化されたAphPossibleandessention.1)CachingingusapCutoredatedAtabaseload.2)最適化、効率的なQueries、およびConnectionPooling.3)EnhcodeCodewithBultinctions、Avoididingglobalbariables、およびUsingopcodeching

PHPパフォーマンスの最適化:究極のガイドPHPパフォーマンスの最適化:究極のガイドMay 14, 2025 am 12:02 AM

keyStrategIestsoSificlyvoostphpappliceperformanceare:1)useopcodecachinglikeToreexecutiontime、2)最適化abaseの相互作用とプロペラインデックス、3)3)構成

PHP依存性噴射コンテナ:クイックスタートPHP依存性噴射コンテナ:クイックスタートMay 13, 2025 am 12:11 AM

aphpDependencyInjectionContaineriSATOULTAINATINAGECLASSDEPTINCIES、強化測定性、テスト可能性、および維持可能性。

PHPの依存噴射対サービスロケーターPHPの依存噴射対サービスロケーターMay 13, 2025 am 12:10 AM

SELECT DEPENTENCINGINOFCENT(DI)大規模なアプリケーションの場合、ServicElocatorは小さなプロジェクトまたはプロトタイプに適しています。 1)DIは、コンストラクターインジェクションを通じてコードのテスト可能性とモジュール性を改善します。 2)ServiceLocatorは、センター登録を通じてサービスを取得します。これは便利ですが、コードカップリングの増加につながる可能性があります。

PHPパフォーマンス最適化戦略。PHPパフォーマンス最適化戦略。May 13, 2025 am 12:06 AM

phpapplicationscanbeoptimizedforspeedandEfficiencyby:1)enabingopcacheinphp.ini、2)PreparedStatementswithpordatabasequeriesを使用して、3)LoopswithArray_filterandarray_mapfordataprocessing、4)の構成ngincasaSearverseproxy、5)

PHPメールの検証:電子メールが正しく送信されるようにしますPHPメールの検証:電子メールが正しく送信されるようにしますMay 13, 2025 am 12:06 AM

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)