【问题标题】:Will supervisor gracefully restart all of the queue workers if supervisorctl reload / restart?如果 supervisorctl 重新加载/重新启动,主管会优雅地重新启动所有队列工作人员吗?
【发布时间】:2018-08-18 16:23:03
【问题描述】:

当这个命令php artisan queue:restart 运行时,所有的队列工作器都会正常重启。

但是,如果这些命令supervisorctl reloadsupervisorctl restart 运行,后面运行的命令是什么?他们会强行杀死队列工作人员并重新启动工作人员吗?

有时,当supervisor配置改变时,supervisor需要重新加载并重启。

如果主管没有优雅地启动队列工作人员,有什么解决方法不会强行杀死工作人员,这样我就不需要做一些清理工作了吗?

【问题讨论】:

  • 您是否有要运行php artisan queue:work 的主管配置设置?
  • 是的,主要是我会更改numprocs,所以我需要重新加载并重新启动主管。
  • 好的,然后它将重新启动所有队列工作人员。您可以通过从终端运行 ps aux | grep queue 并查看正在运行的进程来验证这一点。
  • 解决方案是什么?我想知道同样的事情。

标签: laravel supervisord


【解决方案1】:

Laravel 5.4+ 开始使用 Supervisor 重新加载或重新启动命令将指示队列工作人员正常关闭。

但是,通过将您的主管配置文件中的“stopwaitsecs”设置为高于估计的作业处理时间的值,确保您的主管不会在工作人员尝试正常关闭之前杀死工作人员。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-09
    • 1970-01-01
    • 2021-11-02
    • 2018-05-23
    • 1970-01-01
    • 2017-09-25
    相关资源
    最近更新 更多