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

Horizon多服务器配置:如何让指定服务器仅处理专属队列

Laravel Horizon 多服务器队列配置方案

你的思路方向是对的,不过更高效易维护的做法是通过环境变量区分配置,而非直接替换整个horizon.php文件,具体配置步骤如下:

主服务器配置(不处理Webhooks队列)

  • 在主服务器的.env文件中添加:HORIZON_WEBHOOK_WORKERS=0
  • 修改config/horizon.php的environments配置块,对应运行环境(如production)的队列规则:
    'production' => [
        'main-supervisor' => [
            'connection' => 'redis',
            'queue' => ['default', 'notifications'], // 主服务器处理的队列列表,排除webhooks
            'balance' => 'auto',
            'processes' => 10,
            'tries' => 3,
        ],
        'webhooks-supervisor' => [
            'connection' => 'redis',
            'queue' => ['webhooks'],
            'balance' => 'auto',
            'processes' => env('HORIZON_WEBHOOK_WORKERS', 0), // 读取环境变量值
            'tries' => 3,
        ],
    ],
    
    主服务器启动Horizon后,Webhooks队列的进程数为0,完全不会处理该队列任务。

第二台服务器配置(仅处理Webhooks队列)

  • 在第二台服务器的.env文件中添加:
    HORIZON_WEBHOOK_WORKERS=20
    HORIZON_MAIN_WORKERS=0
    
  • 对应修改config/horizon.php的environments配置:
    'production' => [
        'main-supervisor' => [
            'connection' => 'redis',
            'queue' => ['default', 'notifications'],
            'balance' => 'auto',
            'processes' => env('HORIZON_MAIN_WORKERS', 0), // 主队列进程数设为0
            'tries' => 3,
        ],
        'webhooks-supervisor' => [
            'connection' => 'redis',
            'queue' => ['webhooks'],
            'balance' => 'auto',
            'processes' => env('HORIZON_WEBHOOK_WORKERS', 20), // 启动20个Webhooks进程
            'tries' => 3,
        ],
    ],
    
    启动Horizon后,第二台服务器只会运行Webhooks队列的进程,其他队列无进程运行,完全专注处理Webhooks任务。

备选方案:使用独立配置文件

如果偏好直接用不同配置文件,也可以给两台服务器分别部署不同的horizon.php:

  • 主服务器的配置中,Webhooks队列的processes设为0,其他队列正常配置进程数
  • 第二台服务器的配置中,仅保留Webhooks队列的配置,且processes设为20,其他队列配置删除或设为0进程

这种方式可行,但维护两份配置文件的成本更高,环境变量的方式更推荐。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 00:42:54