Files
nats-python/broadcast/broadcast_server.py
T
2026-10-02 10:27:51 +02:00

32 lines
753 B
Python

import asyncio
import os
from enum import Enum
from typing import Any
from pydantic import BaseModel, Field
from faststream import FastStream
from faststream.nats import NatsBroker
from models import ProbeRegister, ProbeUnregister, ProbeHeartBeat
NATS_SERVERS = os.getenv('NATS_URL', 'nats://localhost:4222').split(',')
NATS_TOKEN = os.getenv('NATS_TOKEN', '')
broker = NatsBroker(servers=NATS_SERVERS, token=NATS_TOKEN)
app = FastStream(broker)
@broker.subscriber(f"discovery.probe")
async def probe_discovery(data: ProbeRegister | ProbeHeartBeat | ProbeUnregister):
print(20*'-')
print(type(data), "->", data)
return True
async def main():
print("START")
await app.run()
if __name__ == "__main__":
asyncio.run(main())