

新闻资讯
技术学院laravel horizon 并不取代标准队列系统,而是基于其构建的增强层;你仍需保留 `config/queue.php` 配置,但可停用 `queue:work` 的 supervisor 进程,改用 horizon 专属的 `horizon:work` 进程管理。
Laravel Horizon 是 Laravel 官方提供的、面向 Redis 驱动队列的监控与管理扩展,而非底层队列实现的替代品。它完全依赖 Laravel 原生的队列抽象(Illuminate\Queue\Queue)
和驱动机制,因此 config/queue.php 不仅需要保留,还必须正确配置为 redis(Horizon 强制要求 Redis 作为队列驱动):
// config/queue.php
'default' => 'redis',
'connections' => [
'redis' => [
'driver' => 'redis',
'connection' => 'default',
'queue' => env('REDIS_QUEUE', 'default'),
'retry_after' => 90,
'block_for' => null,
],
],✅ 关键点说明:
在生产环境的 Supervisor 配置中,应替换为 Horizon 推荐方式(以 Laravel 10+/Horizon 5+ 为例):
# /etc/supervisor/conf.d/horizon.conf [program:horizon] process_name=%(program_name)s command=php /var/www/your-app/artisan horizon autostart=true autorestart=true user=www-data redirect_stderr=true stdout_logfile=/var/www/your-app/storage/logs/horizon.log stopwaitsecs=30
⚠️ 注意事项:
总结而言:Horizon = Laravel Queue + Redis + Dashboard + Smart Supervision。它不是“另一个队列”,而是 Laravel 队列能力在可观测性与运维效率上的深度延伸。正确理解这一关系,是平稳落地 Horizon 的前提。