mirror of https://github.com/docker/docs.git
Manager should retry EventMonitoring on failure.
Signed-off-by: Dong Chen <dongluo.chen@docker.com>
This commit is contained in:
parent
e0b5e6f5fa
commit
26931816c4
|
@ -183,10 +183,13 @@ func (e *Engine) StartMonitorEvents() {
|
|||
e.client.StartMonitorEvents(e.handler, ec)
|
||||
|
||||
go func() {
|
||||
if err := <-ec; err != nil && !strings.Contains(err.Error(), "EOF") {
|
||||
log.WithFields(log.Fields{"name": e.Name, "id": e.ID}).Errorf("Error monitoring events: %s", err)
|
||||
} else if err != nil {
|
||||
log.WithFields(log.Fields{"name": e.Name, "id": e.ID}).Debug("EOF monitoring events, restarting")
|
||||
if err := <-ec; err != nil {
|
||||
log.WithFields(log.Fields{"name": e.Name, "id": e.ID}).Errorf("Error monitoring events: %s.", err)
|
||||
if !strings.Contains(err.Error(), "EOF") {
|
||||
// failing node reconnect should use back-off strategy
|
||||
<-e.refreshDelayer.Wait(e.failureCount)
|
||||
}
|
||||
log.WithFields(log.Fields{"name": e.Name, "id": e.ID}).Errorf("Restart event monitoring.")
|
||||
e.StartMonitorEvents()
|
||||
}
|
||||
close(ec)
|
||||
|
|
Loading…
Reference in New Issue