PHPでスケジュールされたタスクを実装する方法

WBOY
リリース: 2016-06-20 13:05:26
オリジナル
1278 人が閲覧しました

最近、プロジェクトが定期的にリモートデータベース上で何らかの処理を行う必要があるため、ここでスケジュールされたタスクのようなものを作成する必要があります。

苦労の末、このスケジュールされたタスクを PHP を使用して実装することができました。実装プロセスを共有しましょう。今回は PHP を使用してスケジュールされたタスクを実装するために、主に

ignore_user_abort() set_time_limit(0) sleep() の 3 つの関数を使用します。

具体的なコードは次のとおりです。

<p><?php</p>ignore_user_abort();//该函数的作用是当用户关掉浏览器后,PHP脚本也可以继续执行.<br />set_time_limit(3000);// 通过set_time_limit(0)可以让程序无限制的执行下去<br />$interval=5;// 每隔5s运行<br />//方法1--死循环<br />do{<br />echo '测试'.time().'<br/>'; <br />sleep($interval);// 等待5s    <br />}while(true);<br />//方法2---sleep 定时执行<br />require_once './curlClass.php';//引入文件<br />$curl=new httpCurl('www.phpernote.com');//实例化<br />$stime=$curl->getmicrotime();<br />for($i=0;$i<=10;$i++){<br />echo '测试'.time().'<br/>'; <br />sleep($interval);// 等待5s<br />}<br />ob_flush();<br />flush();<br />$etime=$curl->getmicrotime();<br />echo '<hr>';<br /><p>echo round(($etime-stime),4);//程序执行时间</p>
ログイン後にコピー

具体的な実装プロセスでは、PHP のスケジュールされたタスクの効率化が個人的に感じられます。タスクを定期的に実行するタスクはシェルに任せることをお勧めします。比較的、この方法は実装が難しく、シェルはプロフェッショナル レベルです。


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート