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) {
db, e := gorm.Open("sqlite3", args...)
if LogError(e) {
if e != nil {
return nil, e
}
return &DB{db}, nil

View File

@ -57,15 +57,16 @@ func poll_players(host string, timeout int) (int, error) {
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 tmp []*RawServerData
for _, s := range servers {
wg.Add(1)
go func(s ServerConfig) {
defer wg.Done()
players, err := poll_players(s.GameUrl, timeout)
if LogError(err) {
players, e := poll_players(s.GameUrl, timeout)
if e != nil {
Log("Error polling server %s: %s", s.GameUrl, e)
return
}
gameurl := fmt.Sprintf("byond://%s", s.GameUrl)
@ -74,5 +75,5 @@ func (i *Instance) PollServers(servers []ServerConfig, timeout int) ([]*RawServe
}(s)
}
wg.Wait()
return tmp, nil
return tmp
}

View File

@ -23,18 +23,18 @@ func (i *Instance) UpdateServers() {
if i.Debug {
fmt.Println("\nPolling servers...")
}
polled, err := i.PollServers(i.Config.Servers, i.Config.UpdateTimeout)
if !LogError(err) {
polled := i.PollServers(i.Config.Servers, i.Config.UpdateTimeout)
for _, s := range polled {
i.update_server(tx, s)
}
}
if i.Debug {
fmt.Println("\nScraping servers...")
}
scraped, err := i.ScrapePage()
if !LogError(err) {
scraped, e := i.ScrapePage()
if e != nil {
Log("Error scraping servers: %s", e)
} else {
for _, s := range scraped {
i.update_server(tx, s)
}

View File

@ -23,12 +23,8 @@ var (
}
)
func LogError(err error) bool {
if err != nil {
log.Printf("WARNING: %s\n", err)
return true
}
return false
func Log(f string, args ...interface{}) {
log.Printf(f+"\n", args...)
}
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) {
p := path.Join("static", mux.Vars(r)["file"])
b, e := Asset(p)
if LogError(e) {
if e != nil {
i.page_404(w, r)
return
}
@ -91,7 +91,9 @@ func (i *Instance) page_static(w http.ResponseWriter, r *http.Request) {
ctype := mime.TypeByExtension(filepath.Ext(p))
w.Header().Add("Content-Type", ctype)
_, 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) {