如何在前端使用js调用完成webman stop 和start ,即升级后重新启动

indesigncs

问题描述

系统自动升级完后,因为有一些文件需要重新加载或者添加了新的文件或者改了配置等,reload不能达到我的需求,想调用如下命令

php start.php stop

后再调用

php start.php start

但一旦调用 php start.php stop 后就服务停止了,不能继续了,如何才能完成这2个命令延时调用,并完成升级后的自启?

为此你搜索到了哪些方案及不适用的原因

想到了延时调用shell命令这个方法,大神们出来指导看看有没有更好的想法或者方案,谢谢大家

856 3 0
3个回答

evilk

直接执行php start.php restart -d

  • indesigncs 2022-10-10

    非常感谢,我试试

  • indesigncs 2022-10-11

    php start.php restart -d 这个方法行不通,一重启,就502了,前端访问出错,似乎也没重启成功,难道是因为在webman内调用这个会导致重启不成功?

  • nitron 2022-10-11

    你这个操作不行,不能自己操作自己,进程不能自己杀死自己还后自己重启,要通过第三方

  • evilk 2022-10-11

    1.config/server.php => stop_timeout => 30
    2.php start.php restart -d并不会中断请求,我们专门测试过

  • nitron 2022-10-11

    他的想法应该是在webman内执行shell_exec('php start.php restart -d'),因为他上面说了难道是因为在webman内调用这个会导致重启不成功

  • evilk 2022-10-11

    应该只能,在另一个项目里,不能在webman本身的项目里,调用shell函数,去执行 restart 命令

不行你可以加个监控文件自动重启,官方文档中有

  • indesigncs 2022-10-11

    感觉这样不太好,因为有可能用户在使用系统,而且自动升级系统时,替换这么多文件会不会每替换一个文件,就自动重启一次,那更新完都重启几百次了

  • muyu 2022-10-12

    你可以只监听一个文件夹,如果升级成功就那个文件里面写入时间戳或者更新日志,这样就可以自动重启了

muyu

直接php start.php stop,通过supervisor守护启动

  • 暂无评论
年代过于久远,无法发表回答
🔝