package main import ( "os" "time" _ "github.com/joho/godotenv/autoload" "jonasled.dev/jonasled/ems-esp-logger/database" "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/queue" ) func main() { log.Init() queue.Init() if os.Getenv("OUTPUT_DATABSE") != "" { database.Init() database.CreateInstance() } 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 } }