Laravel如何停止/重新启动特定队列的工作人员?

Posted

技术标签:

【中文标题】Laravel如何停止/重新启动特定队列的工作人员?【英文标题】:Laravel how to stop/restart workers of a specific queue? 【发布时间】: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 上 那你是如何运行队列工作者的? 【参考方案1】:

就我阅读文档而言,

php artisan queue:clear redis --queue=emails

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

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

【讨论】:

以上是关于Laravel如何停止/重新启动特定队列的工作人员?的主要内容,如果未能解决你的问题,请参考以下文章

PHP 工匠错误:每次重新启动后 CLI 停止工作

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

如何重新启动应用程序的更新循环

描述用命令如何启动,停止,重新启动和查看www服务?

sh 用于部署Laravel应用程序的脚本包括维护模式,编写器,迁移,清除缓存和重新启动队列

laravel 队列守护进程邮件因 SSL 错误而停止运行