pool-stats/main.go

39 lines
887 B
Go

package main
import (
"fmt"
"log"
"net/http"
"os"
"os/signal"
"syscall"
"pool-stats/database"
"pool-stats/ingest"
"pool-stats/web"
)
func main() {
db, err := database.InitDatabase()
if err != nil {
log.Fatalf("Failed to initialize database: %v", err)
}
defer db.Close()
database.PrintAllHashes(db)
go ingest.WatchAndIngest(db)
go func() {
handlers := database.Handlers{DB: db}
http.HandleFunc("/", handlers.IndexHandler)
fmt.Println("Listening on :8081")
log.Fatal(http.ListenAndServe(":8081", nil))
}()
fmt.Println("Waiting for ctrl-c")
sigs := make(chan os.Signal, 1)
signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM)
<-sigs
}