-
如何实现PHP的计划(定时)任务和暂停任务
如果在服务器做计划任务是件很简单的事情,但是有的时候收条件限制无法使用服务器自带的计划任务,比如买的空间,这时候想要让网站定时执行某些操作(处理数据、生成静态文件、清除缓存...),该怎么办呢?
废话不多说,上代码:
01
ignore_user_abort();
02
set_time_limit(0);
03
// 每隔60秒运行一次
04
$interval
= 60;
05
do
{
06
$filename
=
'test.txt'
;
07
$fh
=
fopen
(
$filename
,
"a"
);
08
// fwrite($fh, "," . rand(1, 100));
09
fwrite(
$fh
,
","
. time());
10
fclose(
$fh
);
11
sleep(
$interval
);
12
}
while
(true);
这段代码功能是,每60秒执行一次do{ }里面代码,即使关掉了浏览器,也一样执行。主要是使用gnore_user_abort()函数搭配set_time_limit(0)和sleep($interval)即可实现程序自动运行更新。
注:使用此代码会对性能有一定的影响。
iulog by 2013-01-27 21:13 回复怎么停下来!!!飘逸的风 by 2013-01-27 21:34 回复@iulog:可以在循环中间读取一个文件,文件存在循环,不存在不循环。不想循环了,用程序控制删除这个文件即可。这是其中一种方法!