【发布时间】:2023-11-05 17:11:02
【问题描述】:
如下代码:
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)
@coroutine
def listen_list():
while True:
res = yield Task(rds.brpop, keys='list')
print res
def test():
listen_pub()
listen_list()
test()
IOLoop.current().start()
当我运行上面的代码时,只有“listen_list”可以接收消息。 为什么“listen_list”不起作用? 如何同时收听来自 LIST 和 PUB/SUB 的消息?
【问题讨论】:
标签: python redis tornado coroutine