Beispiel #1
0
func (core *Core) updateTaskByDockerInfo(task *registry.Task, dockerInspectOutput []byte) {
	//	glog.Infof("Docker Inspect: %s", dockerInspectOutput)
	if len(dockerInspectOutput) == 0 {
		return
	}

	var dockerTasks []*registry.DockerTask
	err := json.Unmarshal(dockerInspectOutput, &dockerTasks)
	if err != nil {
		log.Errorf("UpdateTaskWithDockerInfo error: %v\n", err)
		return
	}
	task.DockerID = dockerTasks[0].DockerID
	task.DockerName = dockerTasks[0].DockerName[1:]

	var dockerState *registry.DockerState
	err = json.Unmarshal(dockerTasks[0].DockerState, &dockerState)
	if err != nil {
		log.Errorf("UpdateTaskWithDockerInfo error: %v\n", err)
		return
	}

	task.ProcessID = dockerState.Pid
	task.LastUpdateTime = time.Now().Unix()
}