Laravel 水平管理器在水平:: 终止并运行伪造守护程序后不会重新启动
Posted
技术标签:
【中文标题】Laravel 水平管理器在水平:: 终止并运行伪造守护程序后不会重新启动【英文标题】:Laravel horizon supervisor does not restart after horizon::terminate with forge daemon running 【发布时间】:2019-06-29 20:43:31 【问题描述】:Horizon 运行良好,但只是最近,在部署后,主管和队列工作人员不会再次启动备份,并且 Horizon GUI 显示“非活动”
为了让它们再次运行,我可以:
从 forge 中重新启动守护进程 重启supervisor/etc/init.d/supervisor restart
我的部署脚本中有php artisan horizon:terminate
。我也尝试过重置/清除及其组合。
当我在带有非活动水平的命令中运行终止时,它似乎什么都不做。当我在 Horizon 处于活动状态的情况下运行相同的命令时,它会将其关闭,但守护程序不会重新启动主管。
守护进程在整个过程中运行时没有任何错误。
应该终止并启动服务还是守护进程本身?
【问题讨论】:
【参考方案1】:运行horizon:terminate
将杀死守护进程,当守护进程被杀死时,主管会意识到这一点并启动一个新的守护进程。如果您在运行终止命令时使用htop
监控您的服务器,您可以清楚地看到这一点。
如果一个长时间运行的作业正在运行,它将运行当前作业直到它完成。终止一般是重新启动进程,以确保新代码加载到地平线,这应该在envoyer
或类似部署工具的最后一步之后完成。
您的设置似乎有问题。在您调用终止之前,地平线进程是否运行,再次检查htop
?。或者手动调用命令会发生什么?
【讨论】:
以上是关于Laravel 水平管理器在水平:: 终止并运行伪造守护程序后不会重新启动的主要内容,如果未能解决你的问题,请参考以下文章