2 zoe4974 zoe4974 于 2016.09.23 10:42 提问

如何让php线程循环一直执行不被挂掉 10C

请教一个问题,我想让一个while循环一直在后台执行,设置了ignore_user_abort(true); set_time_limit(0); 但是始终只执行了150s左右后就挂掉了
php.ini 中max_execution_time 设置local值为0 master为5

程序大致如下:
$interval = 300; // 时间间隔 单位 秒
$i=0;
ignore_user_abort(TRUE);

set_time_limit(0);

while(true){

        $i++;
        //查询是否关闭循环

        if (关闭线程){
            $this->stopThread();
            exit;
        }
                    sleep($interval);
    }

3个回答

qq_29594393
qq_29594393   Ds   Rxr 2016.09.23 10:52

不太懂你想要干什么,但是我想你也许这时候该用到监听器了,

qq_29594393
qq_29594393 回复小麦8: 那你直接用监听器 啊 ,也有定时函数 ,没必要用循环去做 ,另外这种做法不好,你每隔一段时间去请求检查数据,数据量大的时候,十分影响性能,你应该在向数据库插入数据的时候做一个严格的检测 ,而不是时不时检查数据库
大约一年之前 回复
zoe4974
zoe4974 我想在后台一直监控数据库里的数据是否正常,每隔一段时间去请求检查一次
大约一年之前 回复
qinggeletu_123
qinggeletu_123   2016.09.23 11:06

写一个while死循环并满足条件

qq_35718410
qq_35718410   2016.09.23 11:06

写一个定时任务不能满足需求吗?

Csdn user default icon
上传中...
上传图片
插入图片