mirror of
https://github.com/amir20/dozzle.git
synced 2025-12-30 09:45:15 +01:00
Removes delayer as it was breaking with a lot of containers. Related to #875
This commit is contained in:
36
routes.go
36
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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user