ホームページ  >  記事  >  バックエンド開発  >  スケジュールされたタスクをスケジュールに従って実行するように PHP のタイミングを調整するためのさまざまな方法の概要

スケジュールされたタスクをスケジュールに従って実行するように PHP のタイミングを調整するためのさまざまな方法の概要

WBOY
WBOYオリジナル
2016-07-29 08:47:261016ブラウズ

PHP のスケジュールされた実行を実装する 3 つの方法
1. Windows のスケジュールされたタスク
2. Linux スクリプト
3. Web ブラウザーを定期的に更新する
Windows のスケジュールされたタスク
PHP は Windows サーバーではほとんど実行されません。オンライン実装の原則は、おそらく、bat スクリプトを作成し、ウィンドウ タスクに Bat スクリプトを追加して実行させることです。詳細については、http://www.jb51.net/article/29134 を参照してください。 .htm
linux スクリプトの実装
ここでは crontab コマンドが主に使用されます
使用方法:
crontab filecrontab [ -u user ] [ -u user ] { -l | -e }
説明:
crontab は次の目的で使用されます。ユーザーが一定の時間に時刻を設定できるようにする または一定の間隔でプログラムを実行するための
crontabを使用してシェルスクリプトを記述し、PHPにシェルを呼び出させる これはLinuxの特性を利用したものであり、Linuxの特性とは考えるべきではありません。 PHP 独自の言語については、http://www.jb51.net/article/29136.htm を参照してください。
PHP はスケジュールされたタスクのスケジュールされた実行を実装します
PHP を使用してブラウザを更新するには、いくつかの問題を解決する必要があります
PHP スクリプトの実行時間制限デフォルトは 30 分です 解決策: set_time_limit(); または PHP.ini を変更して max_execution_time 時間を設定します (非推奨)
クライアントのブラウザが閉じている場合、解決策:ignore_user_abort は正常に実行されます。ページが閉じられています。
プログラムが実行を続ける場合、解決策は、スリープを使用してプログラムを休止状態にすることです。
PHP のスケジュールされた実行コードを実行します。

コードをコピーします

コードは次のとおりです: ignore_user_abort();// ブラウザを閉じると、PHP スクリプトは実行を続行できます

set_time_limit(3000); // (0)、プログラムは無制限に実行できます

$interval=5; // 5 秒ごとに実行
//方法 1--無限ループ
do{
echo 'Test' .time().'
sleep($interval);// 5 秒待ちます
}while(true); = new httpCurl();//インスタンス化
$stime = $curl->getmicrotime();
for($i=0;$iecho 'test'.time(). '
';
sleep($interval);// 5 秒待ちます
ob_flush()
flush();
$etime = $curl->getmicrotime(); hr>';
echoround(($etime-stime),4);//プログラムの実行時間



テストしたところ、この効率はあまり高くないことがわかりました



要約:
個人的には、 PHP のタスクの時間指定された実行はあまり効率的ではないと思われるため、タスクの時間指定された実行はシェルに任せるのが最善の方法です。
追記: 無限ループ手法は、Web サイトに対する悪意のある攻撃でよく使用される手法のようです


上記では、タイミングの側面も含めて、PHP がスケジュールされたタスクを実行するためのさまざまなタイミングの概要を紹介しました。これが、PHP チュートリアルに興味のある友人に役立つことを願っています。

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