PHP等效的setInterval函数

时间:2015-03-30 20:39:16

标签: php asynchronous

我有一个长期运行的PHP脚本,如下所示:

$myClass->myFunction('this takes 30 minutes to run');

我希望在myFunction()运行期间每隔30秒发送一次心跳,以提醒我的应用程序脚本仍在运行且未发生故障。

在JavaScript中,我可以使用setInterval()实现此目的。我希望能够在PHP中做同样的事情。也许使用自定义setInterval()函数,如下所示:

setInterval(function(){
    $myClass->addHeartbeat("still running");    
}, 30000);

鉴于PHP的同步特性,这是否可行?

1 个答案:

答案 0 :(得分:-1)

没有任何简单的方法可以做到这一点,但是因为你有一个长期运行的PHP脚本,你可以做这样的事情,假设你有一个主循环。:

while($running) { // long running main loop

    if(time() % 30 == 0) {
        $myClass->addHeartbeat("still running");
    }
    // your long running phpscript code
}