定时任务常见的是Linux中的crontab定时任务,这种是通过编写脚本来执行的,它会在后台一直循环执行。但是有时候我们没有服务器权限或者说我们没有独立的服务器,那又该怎么办?其实,定时任务还有一种就是被动是,只要访问项目就会触发,被动式定时任务一般用于虚拟主机,因为没有服务器权限我们只能通过代码来实现。下面我们以thinkPHP为例来分析这两种定时任务的区别。
被动式定时任务
①、tags.php
在/Application/Common/Conf目录下新建tags.php文件。(此和方法一处一样)<?php
return array(
//'配置项'=>'配置值'
'app_begin' =>array('Behavior\CronRunBehavior'),
);
②、crons.php
在/Application/Common/Conf目录下新建crons.php文件。(此处和方法一有区别,注意区分。)<?php
return array(
//myplan为我们计划定时执行的方法文件,2是间隔时间,nextruntime下次执行时间
//此文件位于/Application/Cron/目录下
'cron' => array('myplan', 2, nextruntime),
);
③、myplan.php
在/Application/Common/目录下新建 Cron文件夹,里面新建文件myplan.php文件。<?php
echo date("Y-m-d H:i:s&