Autostart-Funktionalität implementiert: Crontab-Syntax, Scheduler und UI-Integration
This commit is contained in:
@ -6,9 +6,12 @@ import (
|
||||
"log"
|
||||
"medi-wol/internal/database"
|
||||
"medi-wol/internal/handlers"
|
||||
"medi-wol/internal/scheduler"
|
||||
"medi-wol/internal/wol"
|
||||
"os"
|
||||
"os/signal"
|
||||
"strconv"
|
||||
"syscall"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
@ -48,6 +51,11 @@ func main() {
|
||||
// Wake-on-LAN Service initialisieren
|
||||
wolService := wol.NewService()
|
||||
|
||||
// Scheduler initialisieren und starten
|
||||
scheduler := scheduler.NewScheduler(db, wolService)
|
||||
scheduler.Start()
|
||||
defer scheduler.Stop()
|
||||
|
||||
// Handler initialisieren
|
||||
pcHandler := handlers.NewPCHandler(db, wolService)
|
||||
|
||||
@ -75,12 +83,22 @@ func main() {
|
||||
// Statische Dateien bereitstellen (nach den spezifischen Routen)
|
||||
r.Static("/static", "./web/static")
|
||||
|
||||
// Server starten
|
||||
serverAddr := fmt.Sprintf(":%d", port)
|
||||
log.Printf("Medi-WOL startet auf Port %d...", port)
|
||||
log.Printf("Web-Oberfläche verfügbar unter: http://localhost%s", serverAddr)
|
||||
// Graceful Shutdown konfigurieren
|
||||
quit := make(chan os.Signal, 1)
|
||||
signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM)
|
||||
|
||||
if err := r.Run(serverAddr); err != nil {
|
||||
log.Fatal("Fehler beim Starten des Servers:", err)
|
||||
}
|
||||
// Server in Goroutine starten
|
||||
go func() {
|
||||
serverAddr := fmt.Sprintf(":%d", port)
|
||||
log.Printf("Medi-WOL startet auf Port %d...", port)
|
||||
log.Printf("Web-Oberfläche verfügbar unter: http://localhost%s", serverAddr)
|
||||
|
||||
if err := r.Run(serverAddr); err != nil {
|
||||
log.Fatal("Fehler beim Starten des Servers:", err)
|
||||
}
|
||||
}()
|
||||
|
||||
// Auf Shutdown-Signal warten
|
||||
<-quit
|
||||
log.Println("Server wird heruntergefahren...")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user