首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >何时在Laravel Horizon中使用多个supervisors

何时在Laravel Horizon中使用多个supervisors
EN

Stack Overflow用户
提问于 2020-01-31 00:20:30
回答 1查看 637关注 0票数 8

在我的config/horizon中,我现在有:

代码语言:javascript
复制
'production' => [
            'supervisor-1' => [
                'connection' => 'redis',
                'queue' => ['arbitrage'],
                'balance' => 'auto',
                'processes' => 2,
                'tries' => 1,
            ],
            'supervisor-2' => [
                'connection' => 'redis',
                'queue' => ['trade'],
                'balance' => 'auto',
                'processes' => 4,
                'tries' => 1,
            ],
            'supervisor-3' => [
                'connection' => 'redis',
                'queue' => ['balance', 'trade_meta'],
                'balance' => 'auto',
                'processes' => 5,
                'tries' => 1,
            ],
            'supervisor-4' => [
                'connection' => 'redis',
                'queue' => ['notifications'],
                'balance' => 'auto',
                'processes' => 2,
                'tries' => 1,
            ],
        ],

我之所以这样做,是因为我想确保这些队列中的每个队列都获得了分配给它们的工作进程,不同的队列并行运行,并且它们不会相互影响,即使例如,notifications队列有几十个作业,trade队列是空的。

我的问题是,这是否有意义,我到底应该在什么时候使用多个supervisors?或者:我的上述配置与执行以下操作有何不同:

代码语言:javascript
复制
    'supervisor-1' => [
        'connection' => 'redis',
        'queue' => ['arbitrage', 'trade', 'balance', 'trade_meta', 'notifications'],
        'balance' => 'auto',
        'processes' => 10,
        'tries' => 1,
    ],

如果我指定了10个worker,那么这是否仅在这些队列上同时存在超过10个作业的情况下才有关系呢?

队列中可能同时有大约10到30个作业,而且这个数量在未来可能会增加。这就是为什么我以这种方式构建我的配置,但我不确定定义多个supervisors到底意味着什么。

EN

回答 1

Stack Overflow用户

发布于 2021-11-16 07:30:33

我会在需要确保同时将工作进程分配到多个队列的情况下,或者如果我需要为某些队列使用不同的连接或平衡方法的情况下这样做。

在第一个示例中,如果通知队列中只有作业,则其他队列上的所有工作进程都将处于空闲状态。这意味着套利队列中的大量作业不会阻碍通知的发送。

在后一个示例中,您将确保只要有足够的作业提供给所有进程,所有进程都将处于使用状态,但是,任何一个队列中的大队列都会延迟它后面列出的队列中作业的执行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59990260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档