系统自动升级完后,因为有一些文件需要重新加载或者添加了新的文件或者改了配置等,reload不能达到我的需求,想调用如下命令
php start.php stop
后再调用
php start.php start
但一旦调用 php start.php stop 后就服务停止了,不能继续了,如何才能完成这2个命令延时调用,并完成升级后的自启?
想到了延时调用shell命令这个方法,大神们出来指导看看有没有更好的想法或者方案,谢谢大家
直接执行php start.php restart -d
php start.php restart -d
非常感谢,我试试
php start.php restart -d 这个方法行不通,一重启,就502了,前端访问出错,似乎也没重启成功,难道是因为在webman内调用这个会导致重启不成功?
你这个操作不行,不能自己操作自己,进程不能自己杀死自己还后自己重启,要通过第三方
1.config/server.php => stop_timeout => 30 2.php start.php restart -d并不会中断请求,我们专门测试过
config/server.php
stop_timeout => 30
他的想法应该是在webman内执行shell_exec('php start.php restart -d'),因为他上面说了难道是因为在webman内调用这个会导致重启不成功
应该只能,在另一个项目里,不能在webman本身的项目里,调用shell函数,去执行 restart 命令
不行你可以加个监控文件自动重启,官方文档中有
感觉这样不太好,因为有可能用户在使用系统,而且自动升级系统时,替换这么多文件会不会每替换一个文件,就自动重启一次,那更新完都重启几百次了
你可以只监听一个文件夹,如果升级成功就那个文件里面写入时间戳或者更新日志,这样就可以自动重启了
直接php start.php stop,通过supervisor守护启动
直接执行
php start.php restart -d
非常感谢,我试试
php start.php restart -d 这个方法行不通,一重启,就502了,前端访问出错,似乎也没重启成功,难道是因为在webman内调用这个会导致重启不成功?
你这个操作不行,不能自己操作自己,进程不能自己杀死自己还后自己重启,要通过第三方
1.
config/server.php
=>stop_timeout => 30
2.
php start.php restart -d
并不会中断请求,我们专门测试过他的想法应该是在webman内执行shell_exec('php start.php restart -d'),因为他上面说了难道是因为在webman内调用这个会导致重启不成功
应该只能,在另一个项目里,不能在webman本身的项目里,调用shell函数,去执行 restart 命令
不行你可以加个监控文件自动重启,官方文档中有
感觉这样不太好,因为有可能用户在使用系统,而且自动升级系统时,替换这么多文件会不会每替换一个文件,就自动重启一次,那更新完都重启几百次了
你可以只监听一个文件夹,如果升级成功就那个文件里面写入时间戳或者更新日志,这样就可以自动重启了
直接php start.php stop,通过supervisor守护启动