From a5560ceee68333757b4ea1d0f82e0ccb270fab91 Mon Sep 17 00:00:00 2001 From: Amir Raminfar Date: Sat, 12 Dec 2020 15:21:56 -0800 Subject: [PATCH] Removes delayer as it was breaking with a lot of containers. Related to #875 --- routes.go | 36 +++++------------------------------- 1 file changed, 5 insertions(+), 31 deletions(-) diff --git a/routes.go b/routes.go index 42f70dd2..418c51ad 100644 --- a/routes.go +++ b/routes.go @@ -174,8 +174,6 @@ func (h *handler) streamEvents(w http.ResponseWriter, r *http.Request) { f.Flush() - delayer := delayedFunc(time.Second) - Loop: for { select { @@ -207,11 +205,11 @@ Loop: } } - delayer(func() { - if err := sendContainersJSON(h.client, w); err != nil { - log.Errorf("Error while encoding containers to stream: %v", err) - } - }) + time.Sleep(time.Second) + if err := sendContainersJSON(h.client, w); err != nil { + log.Errorf("Error while encoding containers to stream: %v", err) + break Loop + } f.Flush() default: @@ -248,27 +246,3 @@ func sendContainersJSON(client docker.Client, w http.ResponseWriter) error { return nil } - -type delayedFun struct { - mu sync.Mutex - after time.Duration - timer *time.Timer -} - -func delayedFunc(after time.Duration) func(f func()) { - d := &delayedFun{after: after} - - return func(f func()) { - d.add(f) - } -} - -func (d *delayedFun) add(f func()) { - d.mu.Lock() - defer d.mu.Unlock() - - if d.timer != nil { - d.timer.Stop() - } - d.timer = time.AfterFunc(d.after, f) -}