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