laravel Horizon怎么监控和管理队列_laravel Horizon队列监控与管理
发布时间 - 2025-10-26 00:00:00 点击率:次Laravel Horizon可解决队列延迟与失败问题,通过安装composer require laravel/horizon并发布配置文件,设置QUEUE_CONNECTION=redis;启动php artisan horizon服务后,结合Supervisor后台运行;访问/horizon界面需配置路由与中间件权限,查看Metrics、Failed Jobs等数据;在config/horizon.php中配置environments与supervisor的balance策略为auto,分配进程数并重启生效;处理失败任务需生成failed_jobs表,执行migrate后在Horizon界面重试或删除。
如果您在使用 Laravel 开发应用时启用了队列系统,但发现任务处理延迟或失败,可能是队列进程未正常运行或负载过高。Laravel Horizon 提供了完整的队列监控与管理能力,帮助您可视化 Redis 队列状态并进行调优。
本文运行环境:MacBook Pro,macOS Sonoma
一、安装与配置 Laravel Horizon
Laravel Horizon 是 Laravel 官方提供的 Redis 队列仪表板,通过它可实时查看队列性能、任务吞吐量及工作进程状态。正确安装和基础配置是启用监控的前提。
1、在项目根目录执行 Composer 命令安装 Horizon:composer require larave
l/horizon。
2、发布 Horizon 的配置文件和资源文件:php artisan vendor:publish --provider="Laravel\Horizon\HorizonServiceProvider"。
3、打开 config/horizon.php 文件,根据当前环境设置队列驱动、工作进程数量以及内存限制等参数。
4、确保 .env 文件中的 QUEUE_CONNECTION 设置为 redis,并配置好 Redis 连接信息(如 REDIS_HOST、REDIS_PASSWORD)。
二、启动 Horizon 服务进行队列监听
Horizon 通过独立的守护进程监听 Redis 中的任务,替代默认的 php artisan queue:work 命令,提供更稳定的队列处理机制。
1、启动 Horizon 主进程命令为:php artisan horizon,该命令会持续运行并输出日志。
2、若需后台运行,可使用 Supervisor 等进程管理工具配置常驻服务,避免终端关闭导致中断。
3、停止所有 Horizon 进程可通过命令:php artisan horizon:terminate,此操作将安全终止当前运行的所有 worker。
三、访问 Horizon Web 仪表板
Horizon 提供图形化界面展示队列运行状态,包括当前作业数、等待时间、处理速度及失败任务列表。
1、确保路由已注册,在 routes/web.php 中添加 Route::get('/horizon', function () { return view(\'horizon::index\'); }); 或检查是否自动加载。
2、修改 app/Providers/RouteServiceProvider.php 中的 map 方法,确保 Horizon 路由被包含。
3、访问 /horizon 路径前,请确认中间件设置了访问权限,可在 config/horizon.php 中设置 only_hosts 数组或 gate 授权逻辑。
4、登录后可查看“Metrics”、“Recent Jobs”、“Failed Jobs”等关键面板数据。
四、配置队列平衡策略与工作进程
Horizon 支持多种平衡模式(如 auto、simple、false),可根据任务类型动态调整并发处理能力。
1、在 config/horizon.php 的 environments 配置块中定义不同环境下的 worker 设置。
2、设置 supervisor 的 balance 选项为 auto,允许 Horizon 根据队列负载自动分配进程资源。
3、指定每个 supervisor 处理的队列名称和进程数,例如:'supervisor-1' => [ 'connection' => 'redis', 'queue' => ['default'], 'balance' => 'auto', 'processes' => 10 ]。
4、修改完成后重启 Horizon 服务以使新配置生效。
五、处理失败队列任务
当队列任务因异常抛出而失败时,Horizon 会将其记录到失败任务表中,便于排查与重试。
1、确保数据库已创建 failed_jobs 表,可通过运行 php artisan queue:failed-table 生成迁移。
2、执行迁移命令 php artisan migrate 创建数据表结构。
3、在 Horizon 界面的 "Failed Jobs" 标签页中查看详细错误信息,包括异常堆栈跟踪。
4、选择特定失败任务执行重试操作,也可批量删除已修复的问题条目。
# php
# word
# laravel
# redis
# composer
# app
# macbook
# 工具
# mac
# 栈
# ai
# 路由
# 中间件
# require
# auto
# 堆
# map
# 并发
# function
# default
# table
# macos
# 数据库
# 仪表板
# 重试
# 可通过
# 重启
# 配置文件
# 运行环境
# 将其
# 也可
# 可在
# 您在
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
JavaScript实现Fly Bird小游戏
北京网站制作公司哪家好一点,北京租房网站有哪些?
WordPress 子目录安装中正确处理脚本路径的完整指南
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
Laravel的.env文件有什么用_Laravel环境变量配置与管理详解
如何在云虚拟主机上快速搭建个人网站?
Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案
Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】
nodejs redis 发布订阅机制封装实现方法及实例代码
Laravel如何实现一对一模型关联?(Eloquent示例)
如何快速使用云服务器搭建个人网站?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
浅谈javascript alert和confirm的美化
专业商城网站制作公司有哪些,pi商城官网是哪个?
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理
如何在云主机上快速搭建网站?
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】
5种Android数据存储方式汇总
Laravel项目怎么部署到Linux_Laravel Nginx配置详解
php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】
公司网站制作需要多少钱,找人做公司网站需要多少钱?
什么是javascript作用域_全局和局部作用域有什么区别?
如何在IIS中配置站点IP、端口及主机头?
ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
香港服务器建站指南:免备案优势与SEO优化技巧全解析
Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道
如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】
Laravel怎么使用Intervention Image库处理图片上传和缩放
Laravel如何创建和注册中间件_Laravel中间件编写与应用流程
Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤
Laravel事件监听器怎么写_Laravel Event和Listener使用教程
如何在阿里云域名上完成建站全流程?
佛山网站制作系统,佛山企业变更地址网上办理步骤?
如何登录建站主机?访问步骤全解析
JavaScript如何实现路由_前端路由原理是什么
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
🚀拖拽式CMS建站能否实现高效与个性化并存?
Laravel怎么连接多个数据库_Laravel多数据库连接配置
Android自定义控件实现温度旋转按钮效果
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
详解vue.js组件化开发实践
详解Oracle修改字段类型方法总结
详解jQuery中的事件
如何快速完成中国万网建站详细流程?

