51 lines
1.1 KiB
Go
51 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
|
|
"go.dev.pztrn.name/vikunja-notifier/internal/application"
|
|
"go.dev.pztrn.name/vikunja-notifier/internal/commons"
|
|
"go.dev.pztrn.name/vikunja-notifier/internal/services/core/httpserver"
|
|
)
|
|
|
|
func main() {
|
|
app := application.New()
|
|
|
|
lgr := app.NewLogger("module", "main")
|
|
lgr.Info(
|
|
"Starting vikunja-notifier...",
|
|
"version", commons.Version,
|
|
"build_no", commons.Build,
|
|
"buint_on", commons.BuildDate,
|
|
"commit", commons.Commit,
|
|
"branch", commons.Branch,
|
|
)
|
|
|
|
if err := app.Start(); err != nil {
|
|
lgr.Error("Failed to start vikunja-notifier!", "error", err.Error())
|
|
|
|
os.Exit(1)
|
|
}
|
|
|
|
if err := httpserver.Initialize(app); err != nil {
|
|
lgr.Error("Failed to initialize vikunja-notifier", "error", err.Error())
|
|
}
|
|
|
|
if err := app.Start(); err != nil {
|
|
lgr.Error("Failed to start vikunja-notifier", "error", err.Error())
|
|
|
|
os.Exit(2)
|
|
}
|
|
|
|
lgr.Info("vikunja-notifier started.")
|
|
|
|
<-app.ShutdownChan()
|
|
lgr.Info("Shutting down vikunja-notifier...")
|
|
|
|
if err := app.Shutdown(); err != nil {
|
|
lgr.Error("Failed to shutdown vikunja-notifier!", "error", err.Error())
|
|
|
|
os.Exit(1)
|
|
}
|
|
}
|