workerman/redis-queue
很開心啊 終于workerman自己搞了個隊列了
先訂閱隊列,一旦send到該隊列后,是實時觸發(fā)么?
翻了下代碼如下
if ($this->_subscribeQueues) {
$this->_redisSubscribe->brPoping = 1;
Timer::add(0.000001, [$this->_redisSubscribe, 'brPop'], [\array_keys($this->_subscribeQueues), 1, $cb] ,false);
}
如果是實時觸發(fā) 如果我想延遲處理呢?
send可以帶delay秒數(shù) 文檔里顯示僅可以控制在1秒,2秒,3秒?難道不可以0.05秒?0.1秒?
場景:我不想讓隊列實時消費,我想控制消費頻率,如每0.1秒后消費一次
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秒,能實現(xiàn)消費是[進程數(shù)*1個/秒],這樣改會有其他不良后果么?因為這樣好像就能控制每秒的消費頻率了哈?
@1:
redis支持這個pSubscribe
redis隊列不支持pSubscribe訂閱么?
pSubscribe
訂閱一個或多個符合給定模式的頻道
redis隊列要怎么來支持這樣訂閱一個模式的頻道?
我們目前有這樣的需求隊列名queue是不固定的頻道例如:queue-1,queue-2...........,難道在onworkerstart里訂閱這些不確定數(shù)量的頻道來實現(xiàn)這些隊列消費么?