package main

import (
	"os"
	"time"

	_ "github.com/joho/godotenv/autoload"
	"jonasled.dev/jonasled/ems-esp-logger/log"
	"jonasled.dev/jonasled/ems-esp-logger/messageworker"
	"jonasled.dev/jonasled/ems-esp-logger/mqttclient"
	"jonasled.dev/jonasled/ems-esp-logger/mqttserver"
	"jonasled.dev/jonasled/ems-esp-logger/zeromq"
)

func main() {
	log.Init()
	defer zeromq.Pusher.Close()

	zeromq.Init()
	if os.Getenv("MQTT_SERVER_ENABLED") == "true" {
		log.Log.Info("Starting embedded MQTT server")
		mqttserver.Start()
	}
	mqttclient.Init()
	go messageworker.Run()
	for {
		time.Sleep(time.Second) // reduce CPU usage by adding a short sleep here instead of a empty for loop
	}

}