glances/tests-data/issues/issue3341-NATS/sub.py

32 lines
696 B
Python

import asyncio
import nats
async def main():
duration = 30
subject = "glances.*"
nc = nats.NATS()
await nc.connect(servers=["nats://localhost:4222"])
future = asyncio.Future()
async def cb(msg):
subject = msg.subject
reply = msg.reply
data = msg.data.decode()
print(f"Received a message on '{subject} {reply}': {data}")
print(f"Receiving message from {subject} during {duration} seconds...")
await nc.subscribe(subject, cb=cb)
await asyncio.wait_for(future, duration)
await nc.close()
if __name__ == '__main__':
asyncio.run(main())
# To run this test script, make sure you have a NATS server running locally.