mix-basic / delayer-client-php

延迟队列中间件 Delayer 的 PHP 客户端

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

服务端的到期任务并没有加入到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 的那个库

我有时间再检查一下

辛苦作者了,感谢感谢