如题,项目使用了redis的list队列,使用rpop获取数据时,有时会返回类似:1的值;在github的phpredis的issues列表中发现 传送门,项目使用的版本为2.2.7版本,对于类似的问题,有解决方案吗?
如题,项目使用了redis的list队列,使用rpop获取数据时,有时会返回类似:1的值;在github的phpredis的issues列表中发现 传送门,项目使用的版本为2.2.7版本,对于类似的问题,有解决方案吗?
上代码
while (true) { $list = $redis->blpop(DXKey::getKeyOfRunnerEmailTaskListPending(), 6); if (is_array($list) && count($list) == 2) { DXUtil::consoleLog(DXUtil::jsonEncode($list)); $payload = $list[1]; DXUtil::consoleLog('pop: ' . $payload); $task = @json_decode($payload, true); MailTaskRunner::runEmailTask($task); } }
执行结果
2016-11-23 19:23:07 start 2016-11-23 19:23:08 ["runner.email.task.list.pending","{\"time\":1479900188,\"type\":1,\"data\":{\"to_address\":\"wqcsimple@foxmail.com\",\"task_id\":1}}"] 2016-11-23 19:23:08 pop: {"time":1479900188,"type":1,"data":{"to_address":"wqcsimple@foxmail.com","task_id":1}} 2016-11-23 19:23:08 send success
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号