本文讲述使用php定时执行任务的方法,比如我们需要做抽奖活动,设置每天某个时间抽取一次,但是又不想人工抽奖,就可以定时执行一个任务,到了某个时间点,php自动执行这个方法。
当然了,使用Linux的定时任务也是可以去完成的,这里只是讲解如何使用php来完成。
本文采用的案例知识一个简单的小demo,定时5秒钟向数据库中插入一条数据,限定条件是在2017年3月10日12点之前就一直执行,代码如下:
我们在浏览器按照地址,访问该文件即可启用此代码,关闭浏览器也会一直执行。
class IndexAction extends Action { public function index(){ ignore_user_abort();//关闭浏览器后,继续执行php代码 set_time_limit(0);//程序执行时间无限制 $sleep_time = 5;//多长时间执行一次 $model=M("type"); while(time()<strtotime("20170310 12:00:00")){ $msg=date("Y-m-d H:i:s"); $data['createtime']=$msg; echo $msg; echo '<br />'; $res=$model->add($data); file_put_contents("log.log",$msg,FILE_APPEND);//记录日志 sleep($sleep_time);//等待时间,进行下一次操作。 } exit(); } |
案例执行中的数据库结果如图:
宠物免费领养小程序,欢迎来踩