什么是 Horizon?
Horizon 是 Laravel 78TP提供的一个队列监控与管理工具,基于 Redis 构建。它提供了一个美观的 Web 界面,用于实时监控队列任务的状态、吞吐量、失败任务等关键指标。
安装 Horizon
在 Laravel 项目中安装 Horizon 非常简单,只需执行以下命令:
composer require laravel/horizon
然后发布相关配置文件:
php artisan horizon:install
基本配置
安装完成后,可在 config/horizon.php 中配置 Supervisor、队列连接、进程数等参数。例如:
'environments' => [
'production' => [
'supervisor-1' => [
'connection' => 'redis',
'queue' => ['default'],
'balance' => 'auto',
'processes' => 10,
'tries' => 3,
],
],
],
启动 Horizon
在开发环境中,运行以下命令即可启动 Horizon:
php artisan horizon
生产环境中建议配合 Supervisor 守护进程运行,确保服务持续可用。
访问 Web 控制台
默认情况下,Horizon 的控制台可通过 /horizon 路径访问(需登录认证)。你可以在 HorizonServiceProvider 中自定义授权逻辑。
常见用途
- 实时监控队列任务处理速度与积压情况
- 查看失败任务详情并重试
- 动态调整队列工作进程数量
- 分析任务处理耗时与性能瓶颈