以下PHP可以在CLI模式下 实现永远执行吗??
伊谢尔伦
伊谢尔伦 2017-04-10 17:58:00
[PHP讨论组]
function dishVideoConversionQiniu(){
    
        //防止执行超时
        set_time_limit(0);
     
        while (true) {
            $videoList = $videoModel->getToQiniuUploadList(50, $lastVideoID);
            
            if (empty($videoList)) {
                videoLog::log("dishVideo result is empty, quit");
                sleep(5);
                continue;
            }
        }  
}        

我在linux定时任务每分钟执行一次,上面的程序可否实现永远执行呢?

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(4)
怪我咯

会有问题,会不停的起新的进程,然后每个进程都无线循环下去

黄舟

不考虑其他的情况确实是可以一直执行下去, 如果考虑其他的情况, 比如你这写文件的磁盘慢了, 服务器宕机了,,,,,,就不好说了

怪我咯

楼上说的对 要考虑服务器运行状态和脚本的运行状态 你可以写个shell脚本监控这个PHP脚本的运行状态 如果PHP脚本运行异常 可以重启脚本然后给你发个邮件提醒 等

阿神

如果是在 Linux 环境下,可以考虑使用守护进程,启动进程后 fork 出子进程后,关闭父进程就可以守护运行(当然这是简单说法,实际还有操作,可参考 《UNIX 环境高级编程》中关于守护进程的说明),可利用 PHP 进程扩展 pcntl 实现。

当然,更推荐使用 Swoole,毕竟更优雅而且简单,无论是进程控制、定时器等等,都可以的哦~

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号