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")
|
2021-11-08 09:35:00 +01:00
|
|
|
dataSourceName := flag.String("data-source-name", "", "DB URL")
|
2021-11-02 13:23:29 +01:00
|
|
|
|
|
|
|
flag.Parse()
|
|
|
|
|
2021-11-08 09:35:00 +01:00
|
|
|
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)
|
|
|
|
}
|