用途:在 Laravel 上下文中提到 Horizon 时,用于指导其完整生命周期的配置,包括安装、supervisor、负载均衡、仪表盘授权、标签、通知、指标与部署。
主要能力:提供安装命令 php artisan horizon:install;在 config/horizon.php 中定义 supervisor,environments 数组会合并进 defaults 而非整体替换;在 App\Providers\HorizonServiceProvider 的 gate() 中用 Gate::define('viewHorizon', ...) 限制仪表盘访问;并可按主题查阅 references/supervisors.md、references/notifications.md、references/tags.md、references/metrics.md 获取更细的配置说明。
使用方式:安装后运行 php artisan horizon 并访问 /horizon 验证;确认仪表盘访问受限;调度 horizon:snapshot 后检查指标是否填充。修改前先查看 config/horizon.php 了解当前 supervisor 与环境配置。
限制:Horizon 仅支持 Redis 队列驱动,不支持 database、SQS 等;不支持 Redis Cluster,需要独立 Redis 连接;超时链必须满足 job timeout 小于 supervisor timeout 小于 retry_after,顺序错误可能导致任务在 Horizon 完成超时处理前被重试;未调度 horizon:snapshot 时指标仪表盘为空,仅运行 php artisan horizon 不会填充指标。建议使用 search-docs 获取最新文档。