49 lines
959 B
Go
49 lines
959 B
Go
package main
|
|
|
|
import (
|
|
"electricity_bill_calc/config"
|
|
"electricity_bill_calc/global"
|
|
"electricity_bill_calc/router"
|
|
"fmt"
|
|
"log"
|
|
"time"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func init() {
|
|
err := config.SetupSetting()
|
|
if err != nil {
|
|
log.Fatalf("Configuration load failed: %v", err)
|
|
}
|
|
log.Println("Configuration loaded!")
|
|
|
|
err = global.SetupDatabaseConnection()
|
|
if err != nil {
|
|
log.Fatalf("Main Database connect failed: %v", err)
|
|
}
|
|
log.Println("Main Database connected!")
|
|
|
|
err = global.SetupRedisConnection()
|
|
if err != nil {
|
|
log.Fatalf("Main Cache Database connect failed: %v", err)
|
|
}
|
|
log.Println("Main Cache Database connected!")
|
|
}
|
|
|
|
func DBConnectionKeepLive() {
|
|
for range time.Tick(30 * time.Second) {
|
|
err := global.DBConn.Ping()
|
|
if err != nil {
|
|
continue
|
|
}
|
|
}
|
|
}
|
|
|
|
func main() {
|
|
go DBConnectionKeepLive()
|
|
gin.SetMode(config.ServerSettings.RunMode)
|
|
r := router.Router()
|
|
r.Run(fmt.Sprintf(":%d", config.ServerSettings.HttpPort))
|
|
}
|