mirror of
https://github.com/yusing/godoxy.git
synced 2026-04-24 17:28:31 +02:00
fix(docker): fixed retry mechanism
This commit is contained in:
@@ -136,12 +136,19 @@ func (w *DockerWatcher) EventsWithOptions(ctx context.Context, options DockerLis
|
|||||||
err = nil
|
err = nil
|
||||||
// trigger reload (clear routes)
|
// trigger reload (clear routes)
|
||||||
eventCh <- reloadTrigger
|
eventCh <- reloadTrigger
|
||||||
for !w.checkConnection(ctx) {
|
|
||||||
|
retry := time.NewTicker(dockerWatcherRetryInterval)
|
||||||
|
defer retry.Stop()
|
||||||
|
ok := false
|
||||||
|
for !ok {
|
||||||
select {
|
select {
|
||||||
case <-ctx.Done():
|
case <-ctx.Done():
|
||||||
return
|
return
|
||||||
case <-time.After(dockerWatcherRetryInterval):
|
case <-retry.C:
|
||||||
continue
|
if w.checkConnection(ctx) {
|
||||||
|
ok = true
|
||||||
|
break
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// connection successful, trigger reload (reload routes)
|
// connection successful, trigger reload (reload routes)
|
||||||
|
|||||||
Reference in New Issue
Block a user