Cleaned up error handling.
This commit is contained in:
parent
5adf029b4c
commit
e94ff7ede7
@ -15,7 +15,7 @@ type DB struct {
|
|||||||
|
|
||||||
func OpenSqliteDB(args ...interface{}) (*DB, error) {
|
func OpenSqliteDB(args ...interface{}) (*DB, error) {
|
||||||
db, e := gorm.Open("sqlite3", args...)
|
db, e := gorm.Open("sqlite3", args...)
|
||||||
if LogError(e) {
|
if e != nil {
|
||||||
return nil, e
|
return nil, e
|
||||||
}
|
}
|
||||||
return &DB{db}, nil
|
return &DB{db}, nil
|
||||||
|
|||||||
@ -57,15 +57,16 @@ func poll_players(host string, timeout int) (int, error) {
|
|||||||
return int(players), nil
|
return int(players), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (i *Instance) PollServers(servers []ServerConfig, timeout int) ([]*RawServerData, error) {
|
func (i *Instance) PollServers(servers []ServerConfig, timeout int) []*RawServerData {
|
||||||
var wg sync.WaitGroup
|
var wg sync.WaitGroup
|
||||||
var tmp []*RawServerData
|
var tmp []*RawServerData
|
||||||
for _, s := range servers {
|
for _, s := range servers {
|
||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
go func(s ServerConfig) {
|
go func(s ServerConfig) {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
players, err := poll_players(s.GameUrl, timeout)
|
players, e := poll_players(s.GameUrl, timeout)
|
||||||
if LogError(err) {
|
if e != nil {
|
||||||
|
Log("Error polling server %s: %s", s.GameUrl, e)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
gameurl := fmt.Sprintf("byond://%s", s.GameUrl)
|
gameurl := fmt.Sprintf("byond://%s", s.GameUrl)
|
||||||
@ -74,5 +75,5 @@ func (i *Instance) PollServers(servers []ServerConfig, timeout int) ([]*RawServe
|
|||||||
}(s)
|
}(s)
|
||||||
}
|
}
|
||||||
wg.Wait()
|
wg.Wait()
|
||||||
return tmp, nil
|
return tmp
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,18 +23,18 @@ func (i *Instance) UpdateServers() {
|
|||||||
if i.Debug {
|
if i.Debug {
|
||||||
fmt.Println("\nPolling servers...")
|
fmt.Println("\nPolling servers...")
|
||||||
}
|
}
|
||||||
polled, err := i.PollServers(i.Config.Servers, i.Config.UpdateTimeout)
|
polled := i.PollServers(i.Config.Servers, i.Config.UpdateTimeout)
|
||||||
if !LogError(err) {
|
for _, s := range polled {
|
||||||
for _, s := range polled {
|
i.update_server(tx, s)
|
||||||
i.update_server(tx, s)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if i.Debug {
|
if i.Debug {
|
||||||
fmt.Println("\nScraping servers...")
|
fmt.Println("\nScraping servers...")
|
||||||
}
|
}
|
||||||
scraped, err := i.ScrapePage()
|
scraped, e := i.ScrapePage()
|
||||||
if !LogError(err) {
|
if e != nil {
|
||||||
|
Log("Error scraping servers: %s", e)
|
||||||
|
} else {
|
||||||
for _, s := range scraped {
|
for _, s := range scraped {
|
||||||
i.update_server(tx, s)
|
i.update_server(tx, s)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,12 +23,8 @@ var (
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
func LogError(err error) bool {
|
func Log(f string, args ...interface{}) {
|
||||||
if err != nil {
|
log.Printf(f+"\n", args...)
|
||||||
log.Printf("WARNING: %s\n", err)
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func ResetNow() {
|
func ResetNow() {
|
||||||
|
|||||||
@ -83,7 +83,7 @@ func (i *Instance) page_404(w http.ResponseWriter, r *http.Request) {
|
|||||||
func (i *Instance) page_static(w http.ResponseWriter, r *http.Request) {
|
func (i *Instance) page_static(w http.ResponseWriter, r *http.Request) {
|
||||||
p := path.Join("static", mux.Vars(r)["file"])
|
p := path.Join("static", mux.Vars(r)["file"])
|
||||||
b, e := Asset(p)
|
b, e := Asset(p)
|
||||||
if LogError(e) {
|
if e != nil {
|
||||||
i.page_404(w, r)
|
i.page_404(w, r)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -91,7 +91,9 @@ func (i *Instance) page_static(w http.ResponseWriter, r *http.Request) {
|
|||||||
ctype := mime.TypeByExtension(filepath.Ext(p))
|
ctype := mime.TypeByExtension(filepath.Ext(p))
|
||||||
w.Header().Add("Content-Type", ctype)
|
w.Header().Add("Content-Type", ctype)
|
||||||
_, e = w.Write(b)
|
_, e = w.Write(b)
|
||||||
LogError(e)
|
if e != nil {
|
||||||
|
Log("Error sending static file %s: %s", p, e)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (i *Instance) page_index(w http.ResponseWriter, r *http.Request) {
|
func (i *Instance) page_index(w http.ResponseWriter, r *http.Request) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user