webman消费进程

mayibanjia
<?php
return [
    ...这里省略了其它配置...

    'redis_consumer'  => [
        'handler'     => Webman\RedisQueue\Process\Consumer::class,
        'count'       => 8, // 可以设置多进程
        'constructor' => [
            // 消费者类目录
            'consumer_dir' => app_path() . '/queue/redis'
        ]
    ]
];

您好 请问这个进程是全局设定吗?
比如 我有一个 邮件发送队列 还有其他队列 这个多进程 所有队列都8进程吗?能单独分开吗

1121 1 4
1个回答

walkor

这个配置的意思是全局启动8个消费进程,这8个进程共同使用 app_path() . '/queue/redis'下的消费者消费数据,并不是每个队列设置8个进程。如果你想分开,比如发送邮件放到一组单独的进程需消费,就把邮件消费者单独放一个目录,比如放app_path() . '/queue/redis_email'下(注意消费者类的命名空间要相应改动), 然后加一个配置,例如

return [
    ...这里省略了其它配置...

    'redis_consumer'  => [
        'handler'     => Webman\RedisQueue\Process\Consumer::class,
        'count'       => 8, // 可以设置多进程
        'constructor' => [
            // 消费者类目录
            'consumer_dir' => app_path() . '/queue/redis'
        ]
    ],
    // =====新加的email消费者进程====
    'redis_consumer_email'  => [
        'handler'     => Webman\RedisQueue\Process\Consumer::class,
        'count'       => 8, // 可以设置多进程
        'constructor' => [
            // 消费者类目录
            'consumer_dir' => app_path() . '/queue/redis_email'
        ]
    ]
];

这样就单独启动8个邮件消费进程了

  • oscar 2022-04-22

    刚刚解答了我想要问的问题!~牛~

  • liziyu 2022-04-22

    mark

  • mayibanjia 2022-04-22

    谢谢大佬,webman太牛了,越用越上手 哈哈

  • mayibanjia 2022-04-22

    有的比较频繁的消费 想要进程多一点,太方便了

  • evilk 2022-04-23

    超赞
    最近就是想把有些可能会堆积的消息,用单独的进程来消费
    这样就不会影响其他快速消费的消息
    太棒了!!!!!!!!!!!!!!

年代过于久远,无法发表回答
🔝