tornado-redis 的 PUB/SUB 和 BLPOP为什么不能同时监听?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

tornado-redis 的 PUB/SUB 和 BLPOP为什么不能同时监听?

2016-01-31 15:14:30 2921 1

我想在一个系统启动的时候,同时监听 redis 的一个 LIST 和 PUB/SUB 的一个 channel,但是发现两者不能同时运行。
具体表现是:先调用 listen_pub 时 listen_list 完全不工作;先调用 listen_list 时,只能收到一条 push 数据,然后协程切换到 listen_pub,listen_list 又不工作了

from tornadoredis import Client
from tornado.ioloop import IOLoop
from tornado.gen import coroutine, Task 
rds = Client()  
@coroutine
def listen_pub():    
       def handle(msg):      
              print msg
     yield Task(rds.subscribe, channels='pub')
    rds.listen(handle)
  @coroutinedef listen_list():
    while True:
        res = yield Task(rds.brpop, keys='list')
        print res
  def test():
         listen_pub()
         listen_list()
 test()
 IOLoop.current().start()

请问问题处在什么地方,该如何同时监听这两个?

取消 提交回答
全部回答(1)
  • xuning715
    2019-07-17 18:36:44

    redis的一个连接如果用作pub sub 就不能用作操作普通命令了

    0 0
相关问答

20

回答

【大咖问答】对话PostgreSQL 中国社区发起人之一,阿里云数据库高级专家 德哥

阿里ACE 彭飞 2019-07-10 09:36:10 1272146浏览量 回答数 20

20

回答

[@倚贤][¥20]学习Java后端的疑惑

小江同志 2018-10-24 16:11:21 134435浏览量 回答数 20

145

回答

【新手入门】云服务器linux使用手册

fanyue88888 2012-11-26 17:14:18 159996浏览量 回答数 145

8

回答

OceanBase 使用动画(持续更新)

mq4096 2019-02-20 17:16:36 341335浏览量 回答数 8

3

回答

mySQL数据库报错You have an error in your SQL syntax

落地花开啦 2016-02-14 16:09:24 133556浏览量 回答数 3

39

回答

安全组详解,新手必看教程

我的中国 2017-11-30 15:23:46 263612浏览量 回答数 39

251

回答

阿里云LNAMP(Linux + Nginx + Apache + MySQL + PHP)环境一键安装脚本

云代维 2014-02-14 15:26:06 310279浏览量 回答数 251

23

回答

【精品问答合集】Redis热门问答

李博 bluemind 2019-05-29 16:36:15 131216浏览量 回答数 23

2

回答

区域选择帮助

fanyue88888 2012-12-07 15:54:30 205744浏览量 回答数 2

13

回答

【精品问答合集】Java热门问答

李博 bluemind 2019-05-29 16:00:45 129302浏览量 回答数 13
+关注
落地花开啦
喜欢技术,喜欢努力的人
0
文章
7824
问答
问答排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载