Reset retry interval if we spent long enough processing events
This commit is contained in:
1 parent
08e9db900a
commit
922f465ecb
1 file changed
+4
@@ -85,6 +85,7 @@ func (c *Client) AddObserver(ob ContainerObserver) error {
|
||||
if err := c.AddEventListener(events); err != nil {
|
||||
Log.Errorf("[docker] Unable to add listener to Docker API: %s - retrying in %ds", err, retryInterval/time.Second)
|
||||
} else {
|
||||
start := time.Now()
|
||||
for event := range events {
|
||||
switch event.Status {
|
||||
case "start":
|
||||
@@ -95,6 +96,9 @@ func (c *Client) AddObserver(ob ContainerObserver) error {
|
||||
ob.ContainerDied(id)
|
||||
}
|
||||
}
|
||||
if time.Since(start) > retryInterval {
|
||||
retryInterval = InitialInterval
|
||||
}
|
||||
Log.Errorf("[docker] Event listener channel closed - retrying subscription in %ds", retryInterval/time.Second)
|
||||
}
|
||||
time.Sleep(retryInterval)
|
||||
|
||||
Reference in new issue
Block a user