package main import "log" import "os" import "os/signal" import "ma/mqtt" import "ma/config" import "ma/counter" import "ma/archiver" func main() { log.SetPrefix("MA: ") log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile) log.Println("MA starting") config.LoadConfiguration() archiver.InitArchiver() go archiver.InputArchiver() mqtt.StartMqttClient() defer mqtt.StopMqttClient() counter.InitCounter() log.Println("MA running") c := make(chan os.Signal, 1) signal.Notify(c, os.Interrupt, os.Kill) <-c log.Println("Terminating MA") }