Redis 消息队列多进程消费问题

Best

问题描述

现有一个队列不断的进入消息,消费者逐个处理,但涉及数据库操作,会有一定的耗时,希望加快消费速度。

配置多进程消费的话,此处是否需要调整:

return [
    'consumer'  => [
        'handler'     => Webman\RedisQueue\Process\Consumer::class,
        'count'       => 8, // 可以设置多进程同时消费
        'constructor' => [
            // 消费者类目录
            'consumer_dir' => app_path() . '/queue/redis'
        ]
    ],
    // 需要再加一组吗
    'consumer2'  => [
        'handler'     => Webman\RedisQueue\Process\Consumer::class,
        'count'       => 8, // 可以设置多进程同时消费
        'constructor' => [
            // 消费者类目录
            'consumer_dir' => app_path() . '/queue/redis'
        ]
    ]
];

或者:
现在 app_path() . '/queue/redis' 目录下有一个消费者类来处理,是不是复制一份,变成两个消费者,都指向这个队列名?

128 2 0
2个回答

nitron

直接把count设置高点就行

  • Best 3天前

    别的都不用调么

  • qqxxr 3天前

    你说的情况不用,一般只需要加大count就好了,除非你想把消费业务独立出来

  • Best 3天前

    好的

三冬四夏

消费者类不需要复制一份,每个消费进程是隔离的

🔝