文章转发自专业的Laravel开发者社区,原始连接:learnku.com/laravel/t/3…php
今天我得意的宣布 Laravel Horizon, 它为 Laravel Redis 队列提供了精美的仪表盘和代码驱动的配置系统。前端
除了全新的代码驱动配置系统, Horizon 还有美丽的仪表盘 UI, 它彻底开源,对整个 Laravel 社区都是免费的,咱们明天发布测试版本,我但愿你会喜欢它。laravel
译者注: 截止 2019 年 10 月,Horizon 已经发布了 3.4.1 版本git
composer require laravel / horizon
直接安装到现有应用程序中。 它提供对队列工做负载,最近的做业,失败的做业,做业重试,吞吐量和运行时指标以及进程计数的实时洞察。 经过
Horizon :: auth
注册的简单回调控制仪表板的身份验证,从而使您能够彻底控制对仪表板的访问。
Horizon 是配置 Laravel 队列的绝佳新方法。 与 Laravel 的调度程序相似,全部队列工做者均可以经过代码配置:github
config/horizon.php
文件中,咱们配置要建立的进程数量、须要处理的队列、队列超时时间以及须要传递给
queue:work
Artisan 命令的其余任何设置 。
而后,要启动全部的队列工做者,只须要一个简单的命令:php artisan horizon
。 不须要其余命令行选项。 该命令将读取 Horizon 配置并配置全部必需的工做进程。后端
将 Horizon 安装并部署到生产环境后,您能够经过修改配置文件并从新部署来修改整个队列工做者的配置。composer
Horizon 提供了清晰详细的界面,用于检查和重试失败的任务(是的,咱们都有)。 您能够查看该任务的异常堆栈跟踪,标签和最近重试记录。 将失败的任务详细信息直接在页面上显示真是太好了。 因为重试是连接到失败的原始任务,所以您再也不须要盲目地尝试在控制台输入queue:retry
并肯定其重试是成功完成仍是再次失败:性能
Horizon 容许您为任务分配标签,包括Email
、Broadcasts
、Notifications
和Queued Listeners
。 实际上,Horizon 会根据附加到队列的 Eloquent Model 智能地给大多数任务打上标签。测试
您能够经过这些标签轻松地搜索到队列任务,从而查看特定的客户任务或者程序中的其余队列任务。 此功能使您能够快速关注高价值客户,或为刚提交支持工单的客户找到失败的任务:ui
default
队列为空,但
notifications
队列中充满了队列任务,则 Horizon 能够自动将
notifications
的任务分配到
default
队列中,以帮助快速处理这些任务。
队列遇上后,Horizon 将确保在全部队列中公平地从新分配任务。
horizon:snapshot
命令捕获的,可使用 Laravel 内置的
任务调度将其设置为每分钟运行一次。 这使您能够快速发现部署后的性能降低。
我要特别感谢Mohamed Said,David Hemphill和Steve Schoger,他们都为 Horizon 的设计和开发作出了贡献。 Steve 设计了用户界面,David Hemphill 将其做为 Vue 应用程序实现了接口,Mohamed 将前端链接到了我实现的 Horizon 后端。