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秒后消费一次
延迟队列最小单位为1秒,不支持毫秒
老大,我把redis队列的client.php内的pull方法内的定时器改成1秒,能实现消费是[进程数*1个/秒],这样改会有其他不良后果么?因为这样好像就能控制每秒的消费频率了哈?
不良后果就是消费有延迟,没有其它后果
@1:
redis支持这个pSubscribe
redis队列不支持pSubscribe订阅么?
pSubscribe
订阅一个或多个符合给定模式的频道
redis队列要怎么来支持这样订阅一个模式的频道?
我们目前有这样的需求队列名queue是不固定的频道例如:queue-1,queue-2...........,难道在onworkerstart里订阅这些不确定数量的频道来实现这些队列消费么?
@1619443919:请问这问题解决了没 刚好也遇到这问题了