mirror of
https://github.com/dcarrillo/whatismyip.git
synced 2025-07-01 04:39:27 +00:00
Make geo database usage optional (#39)
This commit is contained in:
@ -41,7 +41,7 @@ func (d *DNS) Start() {
|
||||
}
|
||||
|
||||
func (d *DNS) Stop() {
|
||||
log.Printf("Stopping DNS server...")
|
||||
log.Print("Stopping DNS server...")
|
||||
if err := d.server.Shutdown(); err != nil {
|
||||
log.Printf("DNS server forced to shutdown: %s", err)
|
||||
}
|
||||
|
@ -48,8 +48,8 @@ func (q *Quic) Start() {
|
||||
}
|
||||
|
||||
func (q *Quic) Stop() {
|
||||
log.Printf("Stopping QUIC server...")
|
||||
log.Print("Stopping QUIC server...")
|
||||
if err := q.server.Close(); err != nil {
|
||||
log.Printf("QUIC server forced to shutdown")
|
||||
log.Print("QUIC server forced to shutdown")
|
||||
}
|
||||
}
|
||||
|
@ -6,8 +6,7 @@ import (
|
||||
"os/signal"
|
||||
"syscall"
|
||||
|
||||
"github.com/dcarrillo/whatismyip/internal/setting"
|
||||
"github.com/dcarrillo/whatismyip/models"
|
||||
"github.com/dcarrillo/whatismyip/service"
|
||||
)
|
||||
|
||||
type Server interface {
|
||||
@ -17,18 +16,19 @@ type Server interface {
|
||||
|
||||
type Manager struct {
|
||||
servers []Server
|
||||
geoSvc *service.Geo
|
||||
}
|
||||
|
||||
func Setup(servers []Server) *Manager {
|
||||
func Setup(servers []Server, geoSvc *service.Geo) *Manager {
|
||||
return &Manager{
|
||||
servers: servers,
|
||||
geoSvc: geoSvc,
|
||||
}
|
||||
}
|
||||
|
||||
func (m *Manager) Run() {
|
||||
m.start()
|
||||
|
||||
models.Setup(setting.App.GeodbPath.City, setting.App.GeodbPath.ASN)
|
||||
signalChan := make(chan os.Signal, len(m.servers))
|
||||
signal.Notify(signalChan, syscall.SIGHUP, syscall.SIGINT, syscall.SIGTERM)
|
||||
var s os.Signal
|
||||
@ -37,13 +37,16 @@ func (m *Manager) Run() {
|
||||
|
||||
if s == syscall.SIGHUP {
|
||||
m.stop()
|
||||
models.CloseDBs()
|
||||
models.Setup(setting.App.GeodbPath.City, setting.App.GeodbPath.ASN)
|
||||
if m.geoSvc != nil {
|
||||
m.geoSvc.Reload()
|
||||
}
|
||||
m.start()
|
||||
} else {
|
||||
log.Printf("Shutting down...")
|
||||
log.Print("Shutting down...")
|
||||
if m.geoSvc != nil {
|
||||
m.geoSvc.Shutdown()
|
||||
}
|
||||
m.stop()
|
||||
models.CloseDBs()
|
||||
break
|
||||
}
|
||||
}
|
||||
|
@ -39,7 +39,7 @@ func (t *TCP) Start() {
|
||||
}
|
||||
|
||||
func (t *TCP) Stop() {
|
||||
log.Printf("Stopping TCP server...")
|
||||
log.Print("Stopping TCP server...")
|
||||
if err := t.server.Shutdown(t.ctx); err != nil {
|
||||
log.Printf("TCP server forced to shutdown: %s", err)
|
||||
}
|
||||
|
@ -40,7 +40,7 @@ func (t *TLS) Start() {
|
||||
}
|
||||
|
||||
func (t *TLS) Stop() {
|
||||
log.Printf("Stopping TLS server...")
|
||||
log.Print("Stopping TLS server...")
|
||||
if err := t.server.Shutdown(t.ctx); err != nil {
|
||||
log.Printf("TLS server forced to shutdown: %s", err)
|
||||
}
|
||||
|
Reference in New Issue
Block a user