package main import ( "context" "fmt" "os" "os/signal" "sync" "syscall" "gittea.marcokittel.de/elio/eliotools/datawriter/internal/database" "gittea.marcokittel.de/elio/eliotools/datawriter/internal/dataservice" ) const ( NewDir = "/new" ProcessedDir = "/processed" Rights = 0755 StockMustHaveFileLen = 38 ) func main() { connectionstr := os.Getenv("CONNECTIONSTRING") if len(connectionstr) == 0 { fmt.Println("Connectionstring fehlt!. Bsp.: :@tcp(127.0.0.1:3306)/elio?parseTime=true") return } ctx, cancel := signal.NotifyContext( context.Background(), os.Interrupt, syscall.SIGTERM, ) defer cancel() var wg sync.WaitGroup db := database.NewDatabaseWriter(connectionstr) ds := dataservice.NewDataService(ctx) ds.AddListener(db) wg.Add(ds.ListenerCount()) ds.Run(ctx, &wg) wg.Wait() }