Exemplo n.º 1
0
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)
			}
		}
	}
}