Laravel 水平管理器在水平:: 终止并运行伪造守护程序后不会重新启动

Posted

技术标签:

【中文标题】Laravel 水平管理器在水平:: 终止并运行伪造守护程序后不会重新启动【英文标题】:Laravel horizon supervisor does not restart after horizon::terminate with forge daemon running 【发布时间】:2019-06-29 20:43:31 【问题描述】:

Horizo​​n 运行良好,但只是最近,在部署后,主管和队列工作人员不会再次启动备份,并且 Horizo​​n GUI 显示“非活动”

为了让它们再次运行,我可以:

从 forge 中重新启动守护进程 重启supervisor /etc/init.d/supervisor restart

我的部署脚本中有php artisan horizon:terminate。我也尝试过重置/清除及其组合。

当我在带有非活动水平的命令中运行终止时,它似乎什么都不做。当我在 Horizo​​n 处于活动状态的情况下运行相同的命令时,它会将其关闭,但守护程序不会重新启动主管。

守护进程在整个过程中运行时没有任何错误。

应该终止并启动服务还是守护进程本身?

【问题讨论】:

【参考方案1】:

运行horizon:terminate 将杀死守护进程,当守护进程被杀死时,主管会意识到这一点并启动一个新的守护进程。如果您在运行终止命令时使用htop 监控您的服务器,您可以清楚地看到这一点。

如果一个长时间运行的作业正在运行,它将运行当前作业直到它完成。终止一般是重新启动进程,以确保新代码加载到地平线,这应该在envoyer 或类似部署工具的最后一步之后完成。

您的设置似乎有问题。在您调用终止之前,地平线进程是否运行,再次检查htop?。或者手动调用命令会发生什么?

【讨论】:

以上是关于Laravel 水平管理器在水平:: 终止并运行伪造守护程序后不会重新启动的主要内容,如果未能解决你的问题,请参考以下文章

当 CPU 低于某个水平时停止(不终止)EC2 实例

光线追踪:带有区域光的水平伪影

水平和垂直对齐伪元素的内容

图标文字水平对齐方法总结

基于集群中节点数量的水平 Pod Autoscaler 副本

Composer:所需的包装具有不同的最小稳定性水平