Cleaned up error handling.

This commit is contained in:
A. Svensson 2016-06-19 16:08:17 +02:00
parent 5adf029b4c
commit e94ff7ede7
5 changed files with 19 additions and 20 deletions

View File

@ -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

View File

@ -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
} }

View File

@ -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)
} }

View File

@ -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() {

View File

@ -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) {