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
|
||||||
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
|
defaultOpTimeout = 180 * time.Second
|
||||||
defaultWaitInterval = 5 * time.Second
|
defaultWaitInterval = 10 * time.Second
|
||||||
)
|
)
|
||||||
|
|
||||||
// QingCloudClient QingCloud IaaS Advanced Client
|
// QingCloudClient QingCloud IaaS Advanced Client
|
||||||
|
|
|
@ -40,6 +40,24 @@ func WaitJob(jobService *service.JobService, jobID string, timeout time.Duration
|
||||||
}, timeout, waitInterval)
|
}, 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) {
|
func describeInstance(instanceService *service.InstanceService, instanceID string) (*service.Instance, error) {
|
||||||
input := &service.DescribeInstancesInput{Instances: []*string{&instanceID}}
|
input := &service.DescribeInstancesInput{Instances: []*string{&instanceID}}
|
||||||
output, err := instanceService.DescribeInstances(input)
|
output, err := instanceService.DescribeInstances(input)
|
||||||
|
|
Loading…
Reference in New Issue