You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel中使用独立Redis连接处理队列任务时Horizon不消费如何解决

你只需要在Horizon配置中新增对应连接的消费进程规则即可,无需单独启动新的Horizon实例,具体操作如下:

步骤1:修改Horizon配置文件

打开config/horizon.php,找到environments配置段,在你当前使用的环境(开发环境对应local,生产环境对应production)下新增独立的 supervisor 配置:

'environments' => [
    'local' => [
        // 原有主队列的supervisor配置保留不动
        'supervisor-1' => [
            'connection' => 'redis',
            'queue' => ['default'],
            'balance' => 'auto',
            'maxProcesses' => 10,
            'tries' => 3,
        ],
        // 新增针对kingdom_jobs连接的消费配置
        'supervisor-kingdom-jobs' => [
            'connection' => 'kingdom_jobs', // 填写你新增的队列连接名称
            'queue' => ['default'], // 和你queue.php中kingdom_jobs配置的queue参数保持一致
            'balance' => 'auto',
            'minProcesses' => 1,
            'maxProcesses' => 5, // 可根据任务量级调整最大进程数
            'tries' => 3,
            'retry_after' => 90, // 和queue.php中kingdom_jobs的retry_after保持一致
        ],
    ],
    // 生产环境可按照相同格式补充对应配置
],

步骤2:重启Horizon进程

Horizon启动时会读取静态配置,修改配置后需要重启才能生效:

  1. 终止当前正在运行的php artisan horizon进程
  2. 重新执行php artisan horizon启动即可

补充说明

你之前运行queue:work没有效果是因为没有指定连接,默认只会消费默认队列连接的任务。如果需要临时用queue:work消费新连接的任务,可以执行:
php artisan queue:work kingdom_jobs --tries=3
日常使用Horizon的场景下不需要单独运行该命令,Horizon会根据配置自动管理所有消费进程。

内容的提问来源于stack exchange,提问作者TheWebs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 03:09:03