本文整理汇总了Golang中github.com/youtube/vitess/go/vt/proto/automation.Task.State方法的典型用法代码示例。如果您正苦于以下问题:Golang Task.State方法的具体用法?Golang Task.State怎么用?Golang Task.State使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/youtube/vitess/go/vt/proto/automation.Task
的用法示例。
在下文中一共展示了Task.State方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: runTask
func (s *Scheduler) runTask(taskProto *pb.Task, clusterOpID string) ([]*pb.TaskContainer, string, error) {
if taskProto.State == pb.TaskState_DONE {
// Task is already done (e.g. because we resume from a checkpoint).
if taskProto.Error != "" {
log.Errorf("Task: %v (%v/%v) failed before. Aborting the ClusterOperation. Error: %v Details: %v", taskProto.Name, clusterOpID, taskProto.Id, taskProto.Error, taskProto)
return nil, "", errors.New(taskProto.Error)
}
log.Infof("Task: %v (%v/%v) skipped because it is already done. Full Details: %v", taskProto.Name, clusterOpID, taskProto.Id, taskProto)
return nil, taskProto.Output, nil
}
task, err := s.createTaskInstance(taskProto.Name)
if err != nil {
log.Errorf("Task: %v (%v/%v) could not be instantiated. Error: %v Details: %v", taskProto.Name, clusterOpID, taskProto.Id, err, taskProto)
return nil, "", err
}
taskProto.State = pb.TaskState_RUNNING
log.Infof("Task: %v (%v/%v) running. Details: %v", taskProto.Name, clusterOpID, taskProto.Id, taskProto)
newTaskContainers, output, err := task.Run(taskProto.Parameters)
log.Infof("Task: %v (%v/%v) finished. newTaskContainers: %v, output: %v, error: %v", taskProto.Name, clusterOpID, taskProto.Id, newTaskContainers, output, err)
return newTaskContainers, output, err
}
示例2: MarkTaskSucceeded
// MarkTaskSucceeded marks the task as done.
func MarkTaskSucceeded(t *automationpb.Task, output string) {
t.State = automationpb.TaskState_DONE
t.Output = output
}
示例3: MarkTaskFailed
// MarkTaskFailed marks the task as failed.
func MarkTaskFailed(t *automationpb.Task, output string, err error) {
t.State = automationpb.TaskState_DONE
t.Output = output
t.Error = err.Error()
}
示例4: MarkTaskSucceeded
// MarkTaskSucceeded marks the task as done.
func MarkTaskSucceeded(t *pb.Task, output string) {
t.State = pb.TaskState_DONE
t.Output = output
}