利用ignore_user_abort函数实现PHP定时任务

袁志蒙 次浏览

摘要:PHP定时任务的实现主要是利用ignore_user_abort()函数,ignore_user_abort可以实现当客户端关闭后仍然可以执行PHP代码,可保持PHP进程一直在执行,可实现所谓的计划任...

PHP定时任务的实现主要是利用ignore_user_abort()函数,ignore_user_abort可以实现当客户端关闭后仍然可以执行PHP代码,可保持PHP进程一直在执行,可实现所谓的计划任务功能与持续进程,只需要开启执行脚本,除非 apache等服务器重启或有脚本有输出,该PHP脚本将一直处于执行的状态,初看很实用,不过代价是一个PHP执行脚本的持续进程,开销很大,但却可以 实现很多意想不到的功能。


语法:

ignore_user_abort(setting)

setting

可选。如果设置为 true,则忽略与用户的断开,如果设置为 false,会导致脚本停止运行。

如果未设置该参数,会返回当前的设置。


脚本定时任务栗子:

ignore_user_abort(true);
set_time_limit(0);
$interval = 10;  //10秒钟执行一次
$stop = 1;
do {
	
	//执行的业务
	
    if( $stop == 10 ) break;
    file_put_contents('test.php',' Current Time: '.time().' Stop: '.$stop."\n", FILE_APPEND);
    $stop++;
    sleep ( $interval );
	
	
} while ( true );


随机新闻

表情

共2条评论