The reason I separated this goroutine from the handleLogstashMessages goroutine was so that I could sleep a reasonable amount of time between reconnect attempts without blocking the logging channel (so that calls to glog are not blocking). Maybe there is some solution with the tick channel you mentioned that I am not grokking?