服务端的到期任务并没有加入到list中
shandingbaishi opened this issue · comments
pop不能取出一个到期的任务。
// 第2个参数为延迟时间,第3个参数为延迟到期后如果任务没有被消费的最大生存时间
$ret = $client->push($message, 20, 604800);
604800 是最大生存时间,过了这个时间,这个任务就会消失的,所以你要设置在一个合理的时间内。
任务延迟时间20 s后,list没有这个任务,$client->pop返回还是false
你启动 delayer (https://github.com/mix-basic/delayer) 了么?配置的db是不是统一的?
服务端原来只能配置database = 0,选择其他不行
和你的客户端统一即可
不行,客户端选择哪个都可以写入任务,但是服务端选择0时候才处理,选择其他不处理任务,每次客户端和服务端都是选择相同的
服务端database这个配置不生效,你再测试一遍看看,无论配置什么,都是select 0 的那个库
我有时间再检查一下
辛苦作者了,感谢感谢