/**
* run 执行计划任务
* @author:xjw129xjt(肖骏涛) xjt@ourstu.com
*/
public function run()
{
ignore_user_abort(true); //即使Client断开(如关掉浏览器),PHP脚本也可以继续执行.
set_time_limit(0); // 执行时间为无限制,php默认的执行时间是30秒,通过set_time_limit(0)可以让程序无限制的执行下去
$lock_txt = $this->lockFile;
if ($this->checkIsRunning()) { //防止重复运行,判断是否在运行,是则退出
exit();
} else {
touch($lock_txt); //重新生成锁文件,更新文件访问和修改时间
$this->writeFile($lock_txt, 'running'); //重复写入一个文件,标志已经运行计划任务
}
do {
$this->runScheduleList(); //执行计划任务列表
touch($lock_txt); //更新运行时间
ob_flush();
flush();
sleep($this->interval); //程序暂停
} while ($this->readFile($lock_txt) == 'running');
@unlink($lock_txt); //删除标记文件
}