关于workerman/redis-queue

1

workerman/redis-queue
很开心啊 终于workerman自己搞了个队列了
先订阅队列,一旦send到该队列后,是实时触发么?
翻了下代码如下
if ($this->_subscribeQueues) {
$this->_redisSubscribe->brPoping = 1;
Timer::add(0.000001, [$this->_redisSubscribe, 'brPop'], [\array_keys($this->_subscribeQueues), 1, $cb] ,false);
}
如果是实时触发 如果我想延迟处理呢?
send可以带delay秒数 文档里显示仅可以控制在1秒,2秒,3秒?难道不可以0.05秒?0.1秒?
场景:我不想让队列实时消费,我想控制消费频率,如每0.1秒后消费一次

已邀请:

walkor

赞同来自:

延迟队列最小单位为1秒,不支持毫秒

1619443919 - 90it

赞同来自:

if ($this->_subscribeQueues) {
$this->_redisSubscribe->brPoping = 1;
Timer::add(1, [$this->_redisSubscribe, 'brPop'], [\array_keys($this->_subscribeQueues), 1, $cb] ,false);
}

老大,我把redis队列的client.php内的pull方法内的定时器改成1秒,能实现消费是[进程数*1个/秒],这样改会有其他不良后果么?因为这样好像就能控制每秒的消费频率了哈?

要回复问题请先登录注册