Remove eventloop package

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
This commit is contained in:
Michael Crosby 2016-02-17 10:55:54 -08:00
parent 4de168877b
commit 4e05bf491a
15 changed files with 265 additions and 359 deletions

View file

@ -8,21 +8,24 @@ import (
)
type DeleteTask struct {
s *Supervisor
baseTask
ID string
Status int
PID string
}
func (h *DeleteTask) Handle(e *Task) error {
if i, ok := h.s.containers[e.ID]; ok {
func (s *Supervisor) delete(t *DeleteTask) error {
if i, ok := s.containers[t.ID]; ok {
start := time.Now()
if err := h.deleteContainer(i.container); err != nil {
if err := s.deleteContainer(i.container); err != nil {
logrus.WithField("error", err).Error("containerd: deleting container")
}
h.s.notifySubscribers(Event{
s.notifySubscribers(Event{
Type: "exit",
Timestamp: time.Now(),
ID: e.ID,
Status: e.Status,
Pid: e.Pid,
ID: t.ID,
Status: t.Status,
PID: t.PID,
})
ContainersCounter.Dec(1)
ContainerDeleteTimer.UpdateSince(start)
@ -30,7 +33,7 @@ func (h *DeleteTask) Handle(e *Task) error {
return nil
}
func (h *DeleteTask) deleteContainer(container runtime.Container) error {
delete(h.s.containers, container.ID())
func (s *Supervisor) deleteContainer(container runtime.Container) error {
delete(s.containers, container.ID())
return container.Delete()
}