首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >工匠排队的区别是什么:工作和工匠的地平线:工作?

工匠排队的区别是什么:工作和工匠的地平线:工作?
EN

Stack Overflow用户
提问于 2018-02-14 14:00:04
回答 2查看 2.6K关注 0票数 11

我使用的是Laravel队列和Horizon的Redis。主管正在运行artisan horizon,这反过来会产生进程/usr/bin/php7.2 artisan horizon:work redis

是否需要运行queue:work,还是Horizon已经可以自己处理队列了?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-12 03:34:33

安装了Horizon后,Artisan queue:workhorizon:work命令执行相同的任务,但horizon:work接受用于与Horizon主管协调的参数。

在运行Horizon监控程序(通过artisan horizon)时,我们不需要手动执行horizon:workhorizon:work命令启动队列工作进程,监控器在设置工作池时自动运行它。

对主管而言,我指的是Horizon经理过程,而不是我们用来启动Horizon服务的系统的监督。

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

我们仍然可以手动执行artisan queue:work来运行一个单独的、独立的队列工作器,它不是由Horizon管理的。

artisan queue:work --once <connection>命令更有用--它处理队列中的下一个挂起的项,并且可以帮助调试开发中的错误作业。

为了使其有效,我们需要在停止任何长时间运行的队列工作后运行它,这样我们就可以控制作业何时执行。地平线让这件事变得很简单:

代码语言:javascript
复制
php artisan horizon:terminate
票数 13
EN

Stack Overflow用户

发布于 2022-08-20 13:20:25

塞·罗西格诺尔的回答是对的。但我会补充更多。

官方文件的记者说:

Laravel要求您使用Redis为您的队列供电。因此,您应该确保在应用程序的config/Quee.php配置文件中将队列连接设置为redis。

因此,地平线是拉拉维尔工人的仪表板和其他功能的增强,但它将只适用于Redis。不像默认的,它支持Laravel支持的文件、数据库和其他驱动程序。

使用地平线的好处:

  • 有一个度量仪表板,它提供有关作业和队列等待时间和吞吐量的信息。
  • 有能力发送web钩子、Slack或SMS通知
  • 有暂停和恢复的能力
  • 具有查看和重试仪表板中失败作业的能力
  • 有员工平衡策略(简单、自动和错误)
  • 具有更多的自定义配置,如maxProcesses、balanceMaxShift、balanceCooldown等。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48789024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档