本文整理汇总了Golang中github.com/mesos/mesos-go/mesosproto.TaskStatus.GetLabels方法的典型用法代码示例。如果您正苦于以下问题:Golang TaskStatus.GetLabels方法的具体用法?Golang TaskStatus.GetLabels怎么用?Golang TaskStatus.GetLabels使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/mesos/mesos-go/mesosproto.TaskStatus
的用法示例。
在下文中一共展示了TaskStatus.GetLabels方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: StatusUpdate
func (sched *ExampleScheduler) StatusUpdate(driver sched.SchedulerDriver, status *mesos.TaskStatus) {
log.Infoln("Status update: task", status.TaskId.GetValue(), " is in state ", status.State.Enum().String())
//if RunContainer finished, add
if status.State.Enum().String() == "TASK_FINISHED" {
labels := status.GetLabels()
taskType, err := shared.GetValueFromLabels(labels, shared.Tags.TASK_TYPE)
if err != nil {
log.Infof("ERROR: Malformed task info, discarding task with status: %v", status)
return
}
acceptedHost, err := shared.GetValueFromLabels(labels, shared.Tags.ACCEPTED_HOST)
if err != nil {
log.Infof("ERROR: Malformed task info, discarding task with status: %v", status)
return
}
containerName, err := shared.GetValueFromLabels(labels, shared.Tags.CONTAINER_NAME)
if err != nil {
log.Infof("ERROR: Malformed task info, discarding task with status: %v", status)
return
}
switch taskType {
case shared.TaskTypes.RUN_CONTAINER:
sched.ContainerSlaveMap[containerName] = acceptedHost
break
case shared.TaskTypes.CHECKPOINT_CONTAINER:
delete(sched.ContainerSlaveMap, containerName)
break
case shared.TaskTypes.RESTORE_CONTAINER:
sched.ContainerSlaveMap[containerName] = acceptedHost
break
}
}
}