cosmium/cmd/server/server.go

37 lines
645 B
Go
Raw Normal View History

2024-02-10 17:17:34 +02:00
package main
import (
"os"
"os/signal"
"syscall"
2024-02-10 17:17:34 +02:00
"github.com/pikami/cosmium/api"
"github.com/pikami/cosmium/api/config"
"github.com/pikami/cosmium/internal/repositories"
2024-02-10 17:17:34 +02:00
)
func main() {
config.ParseFlags()
2024-02-10 17:17:34 +02:00
repositories.InitializeRepository()
2024-12-18 00:28:59 +02:00
server := api.StartAPI()
2024-12-18 00:28:59 +02:00
waitForExit(server)
}
2024-12-18 00:28:59 +02:00
func waitForExit(server *api.Server) {
sigs := make(chan os.Signal, 1)
signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM)
// Block until a exit signal is received
<-sigs
2024-12-18 00:28:59 +02:00
// Stop the server
server.StopServer <- true
if config.Config.PersistDataFilePath != "" {
repositories.SaveStateFS(config.Config.PersistDataFilePath)
}
2024-02-10 17:17:34 +02:00
}