func HandleEngineEvents(taskEngine engine.TaskEngine, client api.ECSClient, saver statemanager.Saver) { statesaver = saver for { taskEvents, containerEvents := taskEngine.TaskEvents() for taskEvents != nil && containerEvents != nil { select { case event, open := <-containerEvents: if !open { containerEvents = nil log.Error("Container events closed") break } AddContainerEvent(event, client) case event, open := <-taskEvents: if !open { taskEvents = nil log.Crit("Task events closed") break } AddTaskEvent(event, client) } } } }