34 lines
865 B
Go

package main
import (
"context"
"log"
"os"
"os/signal"
"syscall"
"weatherstation/internal/radar"
"weatherstation/internal/rain"
"weatherstation/internal/server"
)
func main() {
server.SetupLogger()
ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM)
defer stop()
// Start radar scheduler with defaults (StoreToDB=true; tile defaults read inside package)
if err := radar.Start(ctx, radar.Options{StoreToDB: true}); err != nil {
log.Fatalf("service-radar start error: %v", err)
}
// Also start CMPA hourly rain scheduler (StoreToDB=true; tiles/dir/url from env inside package)
if err := rain.Start(ctx, rain.Options{StoreToDB: true}); err != nil {
log.Fatalf("service-rain (embedded) start error: %v", err)
}
// Keep process alive until signal
<-ctx.Done()
log.Println("service-radar shutting down")
}