diff --git a/supervisor/delete.go b/supervisor/delete.go index 0ff348ce6..ba5fbb88e 100644 --- a/supervisor/delete.go +++ b/supervisor/delete.go @@ -9,9 +9,10 @@ import ( type DeleteTask struct { baseTask - ID string - Status int - PID string + ID string + Status int + PID string + NoEvent bool } func (s *Supervisor) delete(t *DeleteTask) error { @@ -20,13 +21,15 @@ func (s *Supervisor) delete(t *DeleteTask) error { if err := s.deleteContainer(i.container); err != nil { logrus.WithField("error", err).Error("containerd: deleting container") } - s.notifySubscribers(Event{ - Type: "exit", - Timestamp: time.Now(), - ID: t.ID, - Status: t.Status, - PID: t.PID, - }) + if !t.NoEvent { + s.notifySubscribers(Event{ + Type: "exit", + Timestamp: time.Now(), + ID: t.ID, + Status: t.Status, + PID: t.PID, + }) + } ContainersCounter.Dec(1) ContainerDeleteTimer.UpdateSince(start) } diff --git a/supervisor/worker.go b/supervisor/worker.go index fec1815a8..88314ffa3 100644 --- a/supervisor/worker.go +++ b/supervisor/worker.go @@ -46,7 +46,8 @@ func (w *worker) Start() { }).Error("containerd: start container") t.Err <- err evt := &DeleteTask{ - ID: t.Container.ID(), + ID: t.Container.ID(), + NoEvent: true, } w.s.SendTask(evt) continue