版本都是最新的 换了本地和测试服务的redis都不行 使用延时队列,到时间后会被放到{redis-queue}-waiting前缀的键里面,越积越多,就是不消费,也没有报错
https://www.workerman.net/q/10597 类似的情况
队列名写错了?
已经找到根本原因,client类的tryToPullDelayQueue方法有问题,static变量$retry_timer不能设置为0,应该根据不同的数据库设置,将static $retry_timer = 0;改为static $retry_timer = [];$retry_timer[$this->_options['db']] = 0;将“$retry_timer = Timer::add(”改为“$retry_timer[$this->_options['db']] = Timer::add(”
队列名写错了?
已经找到根本原因,client类的tryToPullDelayQueue方法有问题,static变量$retry_timer不能设置为0,应该根据不同的数据库设置,将static $retry_timer = 0;改为static $retry_timer = [];$retry_timer[$this->_options['db']] = 0;将“$retry_timer = Timer::add(”改为“$retry_timer[$this->_options['db']] = Timer::add(”