用ignore_user_abort函数实现php计划任务
2011-06-30 文章来源:互联网 浏览次数:608
分享文章
说到计划任务大家可能都想到用crontab来实现。可是并不是所有人都是使用linux系统,也不是所有人都有独立服务器。这时候如何用php来实现计划任务呢。
函数- ignore_user_abort(),这个函数可以帮助我们实现像linux中的cron一样实现计划任务,下面一起来看下该如何来实现。
该函数按照字面意思就是“忽略用户中断”,就是使用了该函数的php脚本不管用户有没有退出都会执行下去。
配合set_time_limit 和一个死循环就可以实现计划任务,这样在循环体中,去查询是否有任务需要执行!
例子如下:
- <?php
- ignore_user_abort(); // run script in background
- set_time_limit(0); // run script forever
- $interval=60*15; // do every 15 minutes...
- do{
- // add the script that has to be ran every 15 minutes here
- // ...
- sleep($interval); // wait 15 minutes
- }while(true);
- ?>
但是这个方法也有一个问题,就是当重启了apache之后,脚本就被终止了。当然,要终止这个脚本,也只能通过重启apache或者服务器了。

文章评论(查看全部)