【问题标题】:Laravel how to stop/restart workers of a specific queue?Laravel如何停止/重新启动特定队列的工作人员?
【发布时间】:2021-11-02 08:11:05
【问题描述】:

我知道你可以使用 queue:restart 停止 Laravel 中的所有工作人员。但我正在寻找一种方法来阻止所有工作人员在特定队列上工作。像这样的:

php artisan queue:restart --queue=my_queue

【问题讨论】:

  • 澄清您想停止特定工作人员或所有工作人员在特定队列(可能是一个或多个)上工作?
  • 好点@apokryfos,假设我想停止特定队列的所有工作人员
  • 如果你使用supervisor你可以restart or stop all queue workers that are associated with a specific group,但是这不会是一个优雅的重启,因为即使他们正在处理一个工作,工人也会被杀死
  • Supervisor 不适合我,因为我在 Windows 上
  • 那你是如何运行队列工作者的?

标签: php laravel queue laravel-artisan laravel-queue


【解决方案1】:

就我阅读文档而言,

php artisan queue:clear redis --queue=emails

仅适用于 SQS、Redis 和数据库队列驱动程序。

但是这个命令正在清除,而不是停止。

【讨论】: