add job status constants, and CheckJobStatus func
This commit is contained in:
parent
4ed980d86a
commit
0547cc3c3e
|
@ -36,8 +36,19 @@ const (
|
|||
//LoadBalancerStatusCeased ceased
|
||||
LoadBalancerStatusCeased = "ceased"
|
||||
|
||||
//JobStatusUnknown unknown
|
||||
JobStatusUnknown = "unknown"
|
||||
//JobStatusSuccessful successful
|
||||
JobStatusSuccessful = "successful"
|
||||
//JobStatusFailed failed
|
||||
JobStatusFailed = "failed"
|
||||
//JobStatusPending pending
|
||||
JobStatusPending = "pending"
|
||||
//JobStatusWorking working
|
||||
JobStatusWorking = "working"
|
||||
|
||||
defaultOpTimeout = 180 * time.Second
|
||||
defaultWaitInterval = 5 * time.Second
|
||||
defaultWaitInterval = 10 * time.Second
|
||||
)
|
||||
|
||||
// QingCloudClient QingCloud IaaS Advanced Client
|
||||
|
|
|
@ -40,6 +40,24 @@ func WaitJob(jobService *service.JobService, jobID string, timeout time.Duration
|
|||
}, timeout, waitInterval)
|
||||
}
|
||||
|
||||
// CheckJob wait the job with this jobID finish
|
||||
func CheckJobStatus(jobService *service.JobService, jobID string) (string,error) {
|
||||
input := &service.DescribeJobsInput{Jobs: []*string{&jobID}}
|
||||
output, err := jobService.DescribeJobs(input)
|
||||
if err != nil {
|
||||
return JobStatusUnknown, nil
|
||||
}
|
||||
if len(output.JobSet) == 0 {
|
||||
return "", fmt.Errorf("Can not find job [%s]", jobID)
|
||||
}
|
||||
j := output.JobSet[0]
|
||||
if j.Status == nil {
|
||||
logger.Error("Job [%s] status is nil ", jobID)
|
||||
return JobStatusUnknown, nil
|
||||
}
|
||||
return *j.Status, nil
|
||||
}
|
||||
|
||||
func describeInstance(instanceService *service.InstanceService, instanceID string) (*service.Instance, error) {
|
||||
input := &service.DescribeInstancesInput{Instances: []*string{&instanceID}}
|
||||
output, err := instanceService.DescribeInstances(input)
|
||||
|
|
Loading…
Reference in New Issue