agreg-server/server/app/consumer.py

32 lines
914 B
Python
Raw Normal View History

import logging
import sys
import os
from adapters.postgres import connect, PgDeviceRepository, PgReadingRepository
from adapters.mqtt import PahoMqttBroker
from services.uplink_service import UplinkService
MQTT_HOST = os.getenv("MQTT_HOST", "mosquitto")
MQTT_PORT = int(os.getenv("MQTT_PORT", 1883))
MQTT_TOPIC = os.getenv("MQTT_TOPIC", "application/+/device/+/event/up")
DB_URI = os.getenv("DATABASE_URL", "postgresql://simugaz:simugaz@db/simugaz")
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s [%(levelname)s] %(message)s",
datefmt="%Y-%m-%dT%H:%M:%S",
stream=sys.stdout,
force=True,
)
if __name__ == "__main__":
conn = connect(DB_URI)
broker = PahoMqttBroker(MQTT_HOST, MQTT_PORT, MQTT_TOPIC)
devices = PgDeviceRepository(conn)
readings = PgReadingRepository(conn)
uplink = UplinkService(devices, readings)
broker.start(on_uplink=uplink.handle)