gpt4 book ai didi

php - artisan 队列:work and artisan horizon:work?有什么区别

转载 作者:可可西里 更新时间:2023-11-01 13:22:12 27 4
gpt4 key购买 nike

我在 Horizo​​n 中使用 Laravel 队列和 Redis。Supervisor 正在运行 artisan horizo​​n,它会生成进程 /usr/bin/php7.2 artisan horizo​​n:work redis

是否需要运行 queue:work 或者 Horizo​​n 是否已经可以自行处理队列?

最佳答案

安装 Horizo​​n 后,Artisan queue:workhorizon:work命令执行相同的任务,除了 horizon:work接受它用来与 Horizo​​n 主管协调的参数。

当运行 Horizo​​n 主管进程时(通过 artisan horizon ),我们永远不需要执行 horizon:work手动。 horizon:work命令启动队列工作进程,主管在设置工作池时自动运行它。

supervisor 是指 Horizo​​n 管理器进程,而不是我们用来将 Horizo​​n 作为服务启动的系统的 supervisord

事实上,horizon:work被标记为隐藏,因此我们甚至不会在 artisan list 显示的可用命令中看到它.

我们仍然可以执行artisan queue:work手动运行不受 Horizo​​n 管理的单个独立队列工作程序。

artisan queue:work --once <connection>命令更有用——它处理队列中的下一个待处理项目,并且可以帮助调试开发中行为不当的作业。

为了使其有效,我们需要在停止任何长时间运行的队列工作程序后运行它,以便我们可以控制作业何时执行。 Horizo​​n 让这一切变得简单:

php artisan horizon:terminate

关于php - artisan 队列:work and artisan horizon:work?有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48789024/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com