文|何掌柜
相信现在很多项目上都会有定时的任务实行操持吧,不说别的,就比如定时发送文章,定时上架匆匆销产品等等。
在程序上这样的办法能节约人力本钱,在人力不好去操作的韶光让机器来自动完成,并且非常的精确和高效。
如果我们想让我们制作的php函数去自动实行,那么就须要办理几个问题。
1、PHP脚本实行韶光的限定:这里的限定韶光默认是30m,但这肯定是不能够知足我们的需求的,办理办法便是用set_time_limit(0)函数让程序无限制的实行下去。
2、如果客户端浏览器关闭了呢,这样程序不久被迫终止了么,办理办法还是有的,用ignore_user_abort函数,纵然页面关闭了已让能够连续实行。
3、当然了,无限制的持续实行肯定会耗费非常多的做事器资源,这是一种可耻的摧残浪费蹂躏,那么就用sleep()函数来让程序休眠一段韶光在实行,这样就好了很多。
我们来看下详细的代码吧:
ignore_user_abort();//关掉浏览器,PHP脚本也可以连续实行.
set_time_limit(3000);// 通过set_time_limit(0)可以让程序无限制的实行下去
$interval=5;// 每隔5s运行
//方法1--去世循环
do{
echo '测试'.time().'
';
sleep($interval);// 等待5s
}while(true);
//方法2---sleep 定时实行
require_once './curlClass.php';//引入文件
$curl = new httpCurl();//实例化
$stime = $curl->getmicrotime();
for($i=0;$i<=10;$i++)
{
echo '测试'.time().'
';
sleep($interval);// 等待5s
}
ob_flush();
flush();
$etime = $curl->getmicrotime();
echo '
';
echo round(($etime-stime),4);//程序实行韶光
非常大略实用的方法,相信大伙都能看明白吧,不过这里要说下,这种办法的效率并不高,如果只是想定时处理一些很大略的数据,那么用这种办法是不错的,但是如果是非常大的数据处理量并且非常频繁,那么建议利用shell来完成。