diff --git a/app/mqtt/client.py b/app/mqtt/client.py index 0f31467..d466c36 100644 --- a/app/mqtt/client.py +++ b/app/mqtt/client.py @@ -1,5 +1,7 @@ import json import logging +import socket +import time from typing import Callable, Optional import paho.mqtt.client as mqtt @@ -12,8 +14,15 @@ class MQTTClient: """Client MQTT per ricevere allarmi dal sistema di monitoraggio""" 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 + logger.info(f"Client MQTT creato con ID: {client_id}") self._setup_callbacks() def _setup_callbacks(self):