unknown changes

This commit is contained in:
marys committed 2026-10-02 10:27:51 +02:00
1 parent bec3fcaa17
commit 538417922c
13 files changed
+428 -20

No files matched your search

View File
Whitespace-only changes.
+52
View File
@@ -0,0 +1,52 @@
import asyncio
import os
from faststream.nats import NatsBroker
from faststream.nats.message import NatsMessage
from broadcast.models import ProbeRegister, ProbeHeartBeat, ProbeUnregister
NATS_SERVERS = os.getenv('NATS_URL', 'nats://localhost:4222').split(',')
NATS_TOKEN = os.getenv('NATS_TOKEN', '')
broker = NatsBroker(servers=NATS_SERVERS, token=NATS_TOKEN)
async def main():
msg_register = ProbeRegister(
command="register",
probe_id="prvni",
capabilities="capabilities",
probe_type="mtr"
)
msg_heart_beat = ProbeHeartBeat(
command="hartbeat",
probe_id="prvni",
status="OK"
)
msg_unregister = ProbeUnregister(
command="unregister",
probe_id="prvni",
)
await broker.connect()
#response = await broker.publish(msg.model_dump(), subject=f"discovery.probe")
response: NatsMessage = await broker.request(
msg_register.model_dump(),
subject="discovery.probe",
timeout=3,
)
print(f"{await response.decode()=}")
await asyncio.sleep(5)
await broker.publish(msg_heart_beat.model_dump(), subject=f"discovery.probe")
await asyncio.sleep(5)
await broker.publish(msg_unregister.model_dump(), subject=f"discovery.probe")
await broker.stop()
if __name__ == "__main__":
asyncio.run(main())
+32
View File
@@ -0,0 +1,32 @@
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())
+19
View File
@@ -0,0 +1,19 @@
from pydantic import BaseModel
class Probe(BaseModel):
command: str
probe_id: str
class ProbeRegister(Probe):
capabilities: str
probe_type: str
class ProbeHeartBeat(Probe):
status: str
class ProbeUnregister(Probe):
pass
class ProbeBroadcast(BaseModel):
command: str
probe_type: str