Laravel horizo​​n supervisor 在 horizo​​n::terminate with forge daemon running 后不会重启

标签 laravel redis daemon forge laravel-horizon

Horizo​​n 运行良好,但直到最近,在部署之后,主管和队列工作人员不会再次启动,Horizo​​n GUI 显示“不活动”

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

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

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

当我在命令中以非事件地平线运行 terminate 时,它​​似乎什么也没做。当我在 horizo​​n 事件的情况下运行相同的命令时,它会关闭它,但守护进程不会重新启动 supervisor。

守护进程在所有这些过程中运行没有任何错误。

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

最佳答案

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

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

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

关于Laravel horizo​​n supervisor 在 horizo​​n::terminate with forge daemon running 后不会重启,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54544432/

相关文章:

caching - Redis vs Appfabric Cache ,或者另一种解决方案

redis - Redis从列表中弹出多个元素

php - beanstalkd - 保留但未完成的作业会怎样?

PHP 套接字 - 只能从本地主机连接(端口转发问题?)

laravel - Lumen 与 Dingo API 路由未定义

php - 当用户使用 Laravel 成功登录时,如何更新上次登录列?

python - Mac OS上的redis-queue:进程已 fork ,您不能安全地使用此CoreFoundation功能

macos - 如何停止 Mac Snow Leopard 上安装的 Jenkins?

php - laravel pgsql 中的 failed_jobs 表

php - Laravel Eloquent Not Created_At 今天