Skip to content

Instantly share code, notes, and snippets.

@tsnow
Last active August 29, 2015 14:14
Show Gist options
  • Save tsnow/9d708eed483464eb3818 to your computer and use it in GitHub Desktop.
Save tsnow/9d708eed483464eb3818 to your computer and use it in GitHub Desktop.
func fetch(c *check) {
f := &fetcher{}
for {
f.once(c)
}
}
struct fetcher {
resp *http.Response
err error
}
func (f *fetcher) once(c *check){
defer func(){
if f.resp != nil {
f.resp.Body.Close()
}
log.Printf("at=%s status=sleep", c.name)
time.Sleep(time.Second)
}()
log.Printf("at=%s status=begin", c.name)
if f.resp, f.err = http.Get(c.url); err != nil {
log.Printf("at=%s status=error error=\"%s\"", c.name, f.err)
return;
}
if _, f.err = ioutil.ReadAll(resp.Body); err != nil {
log.Printf("at=%s status=error error=\"%s\"", c.name, f.err)
return;
}
log.Printf("at=%s status=success", c.name)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment