PHP执行循环任务
创建文件task.php:<?php
ignore_user_abort(); //后台执行脚本,浏览器关闭不结束脚本执行
set_time_limit(0); //永不过期
$interval=60; // 循环间隔1分钟
//如果taskrun存在,说明此任务已在运行,清空缓存,不重新运行任务
if(file_exists("taskrun"))
{
clearstatcache();
}
else
{
//如果文件不存在,说明任务未运行,则创建文件taskrun,开始任务
clearstatcache();
$file = fopen("taskrun", "w");
fwrite($file,'1');
fclose($file);
do{
//检查taskrun是否存在,如果不存在则结束任务,删除此文件则可以结束任务
if(file_exists("taskrun"))
{
clearstatcache();
//some task
sleep($interval); // 等待1分钟
}
else
{
clearstatcache();
break;
}
}while(true);
}
?>
在浏览器中访问task.php,启动循环任务,浏览器可关闭
若要停止任务,只需删除taskrun文件。
页:
[1]