【发布时间】:2021-05-30 12:35:21
【问题描述】:
我正在尝试使用 nats.aio.client 模块进行简单的发布订阅,但回调不起作用下面是我的代码 从 nats.aio.client 导入客户端作为 NATS
类 NAT: def 初始化(自我): self.nc = NATS()
async def run(self):
# nc = NATS()
print("connection starts")
await self.nc.connect("demo.nats.io:4222", connect_timeout=10, verbose=True)
print("connection success")
async def publish_msg(self):
# nc = NATS()
print("msg to publish")
await self.nc.publish("Hello", b'Hellowelcome')
async def subscribe_msg(self):
async def message_handler(msg):
print("Hello")
subject = msg.subject
reply = msg.reply
print("Received a message on '{subject} {reply}'".format(
subject=subject, reply=reply))
await self.nc.subscribe("Hello", cb=message_handler)
主文件
import asyncio
from nats_client import NAT
nat = NAT()
nats_connection = asyncio.get_event_loop()
nats_connection.run_until_complete(nat.run())
nats_connection.run_until_complete(nat.subscribe_msg())
nats_connection.run_until_complete(nat.publish_msg())
#nats_connection.close()
如果我缺少任何帮助,请告诉我
【问题讨论】:
标签: python-3.x async-await coroutine nats.io