您的位置 首页 php

PHP定时执行计划任务

因思维新建站官网:jz.inspinovation.com

文|何掌柜

相信现在很多项目上都会有定时的任务执行计划吧,不说别的,就比如定时发送文章,定时上架促销产品等等。

在程序上这样的方式能节约人力成本,在人力不好去操作的时间让机器来自动完成,并且非常的精确和高效。

如果我们想让我们制作的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 来完成。

文章来源:智云一二三科技

文章标题:PHP定时执行计划任务

文章地址:https://www.zhihuclub.com/77737.shtml

关于作者: 智云科技

热门文章

网站地图