fix client id mqtt
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
|
import socket
|
||||||
|
import time
|
||||||
from typing import Callable, Optional
|
from typing import Callable, Optional
|
||||||
import paho.mqtt.client as mqtt
|
import paho.mqtt.client as mqtt
|
||||||
|
|
||||||
@@ -12,8 +14,15 @@ class MQTTClient:
|
|||||||
"""Client MQTT per ricevere allarmi dal sistema di monitoraggio"""
|
"""Client MQTT per ricevere allarmi dal sistema di monitoraggio"""
|
||||||
|
|
||||||
def __init__(self, message_handler: Optional[Callable] = None):
|
def __init__(self, message_handler: Optional[Callable] = None):
|
||||||
self.client = mqtt.Client(client_id="terrain_monitor_backend")
|
# Genera un client_id unico basato su hostname + timestamp
|
||||||
|
# Questo permette di avere più istanze del backend senza conflitti
|
||||||
|
hostname = socket.gethostname()
|
||||||
|
timestamp = int(time.time() * 1000) # milliseconds
|
||||||
|
client_id = f"terrain_backend_{hostname}_{timestamp}"
|
||||||
|
|
||||||
|
self.client = mqtt.Client(client_id=client_id)
|
||||||
self.message_handler = message_handler
|
self.message_handler = message_handler
|
||||||
|
logger.info(f"Client MQTT creato con ID: {client_id}")
|
||||||
self._setup_callbacks()
|
self._setup_callbacks()
|
||||||
|
|
||||||
def _setup_callbacks(self):
|
def _setup_callbacks(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user