如何实现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)即可实现程序自动运行更新。
注:使用此代码会对性能有一定的影响。