mirror of
https://github.com/ipnet-mesh/meshcore-hub.git
synced 2026-03-28 17:42:56 +01:00
Updates
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
"""FastAPI dependencies for the API."""
|
||||
|
||||
import logging
|
||||
import uuid
|
||||
from typing import Annotated, Generator
|
||||
|
||||
from fastapi import Depends, Request
|
||||
@@ -57,11 +58,13 @@ def get_mqtt_client(request: Request) -> MQTTClient:
|
||||
mqtt_port = getattr(request.app.state, "mqtt_port", 1883)
|
||||
mqtt_prefix = getattr(request.app.state, "mqtt_prefix", "meshcore")
|
||||
|
||||
# Use unique client ID to allow multiple API instances
|
||||
unique_id = uuid.uuid4().hex[:8]
|
||||
config = MQTTConfig(
|
||||
host=mqtt_host,
|
||||
port=mqtt_port,
|
||||
prefix=mqtt_prefix,
|
||||
client_id="meshcore-api",
|
||||
client_id=f"meshcore-api-{unique_id}",
|
||||
)
|
||||
|
||||
client = MQTTClient(config)
|
||||
|
||||
@@ -13,6 +13,7 @@ import logging
|
||||
import signal
|
||||
import threading
|
||||
import time
|
||||
import uuid
|
||||
from typing import Any, Callable, Optional, TYPE_CHECKING
|
||||
|
||||
from meshcore_hub.common.database import DatabaseManager
|
||||
@@ -307,14 +308,15 @@ def create_subscriber(
|
||||
Returns:
|
||||
Configured Subscriber instance
|
||||
"""
|
||||
# Create MQTT client
|
||||
# Create MQTT client with unique client ID to allow multiple collectors
|
||||
unique_id = uuid.uuid4().hex[:8]
|
||||
mqtt_config = MQTTConfig(
|
||||
host=mqtt_host,
|
||||
port=mqtt_port,
|
||||
username=mqtt_username,
|
||||
password=mqtt_password,
|
||||
prefix=mqtt_prefix,
|
||||
client_id="meshcore-collector",
|
||||
client_id=f"meshcore-collector-{unique_id}",
|
||||
)
|
||||
mqtt_client = MQTTClient(mqtt_config)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user