telemetry/cmd/server/main.go

38 lines
620 B
Go
Raw Normal View History

2021-11-02 13:23:29 +01:00
package main
import (
"flag"
2021-11-09 13:53:49 +01:00
"log"
2021-11-08 12:22:11 +01:00
"time"
2021-11-02 13:23:29 +01:00
"github.com/status-im/dev-telemetry/telemetry"
2021-11-08 12:22:11 +01:00
"github.com/robfig/cron/v3"
2021-11-02 13:23:29 +01:00
)
func main() {
port := flag.Int("port", 8080, "Port number")
dataSourceName := flag.String("data-source-name", "", "DB URL")
2021-11-02 13:23:29 +01:00
flag.Parse()
db := telemetry.OpenDb(*dataSourceName)
2021-11-02 13:23:29 +01:00
defer db.Close()
2021-11-08 12:22:11 +01:00
aggregator := telemetry.NewAggregator(db)
c := cron.New()
2021-11-09 13:53:49 +01:00
_, err := c.AddFunc("0 * * * *", func() {
2021-11-08 12:22:11 +01:00
aggregator.Run(time.Hour)
})
2021-11-09 13:53:49 +01:00
if err != nil {
log.Fatalf("Error adding cron job: %v", err)
}
2021-11-08 12:22:11 +01:00
c.Start()
defer c.Stop()
2021-11-02 13:23:29 +01:00
server := telemetry.NewServer(db)
server.Start(*port)
}