GetJobs api
This commit is contained in:
parent
dbb08ded90
commit
1180065923
2 changed files with 44 additions and 1 deletions
|
@ -31,7 +31,7 @@ import (
|
||||||
"github.com/paypal/gorealis/response"
|
"github.com/paypal/gorealis/response"
|
||||||
)
|
)
|
||||||
|
|
||||||
var cmd, executor, url, clustersConfig, clusterName, updateId, username, password, zkUrl, hostList string
|
var cmd, executor, url, clustersConfig, clusterName, updateId, username, password, zkUrl, hostList, role string
|
||||||
|
|
||||||
var CONNECTION_TIMEOUT = 20000
|
var CONNECTION_TIMEOUT = 20000
|
||||||
|
|
||||||
|
@ -46,6 +46,8 @@ func init() {
|
||||||
flag.StringVar(&password, "password", "secret", "Password to use for authorization")
|
flag.StringVar(&password, "password", "secret", "Password to use for authorization")
|
||||||
flag.StringVar(&zkUrl, "zkurl", "", "zookeeper url")
|
flag.StringVar(&zkUrl, "zkurl", "", "zookeeper url")
|
||||||
flag.StringVar(&hostList, "hostList", "", "Comma separated list of hosts to operate on")
|
flag.StringVar(&hostList, "hostList", "", "Comma separated list of hosts to operate on")
|
||||||
|
flag.StringVar(&role, "role", "", "owner role to use")
|
||||||
|
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
// Attempt to load leader from zookeeper using a
|
// Attempt to load leader from zookeeper using a
|
||||||
|
@ -593,6 +595,16 @@ func main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Print(result.String())
|
fmt.Print(result.String())
|
||||||
|
case "getJobs":
|
||||||
|
fmt.Println("GetJobs...role: ", role)
|
||||||
|
_, result, err := r.GetJobs(role)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Print("error: %+v\n", err.Error())
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
fmt.Println("map size: ", len(result.Configs))
|
||||||
|
fmt.Println(result.String())
|
||||||
|
|
||||||
default:
|
default:
|
||||||
fmt.Println("Command not supported")
|
fmt.Println("Command not supported")
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
|
31
realis.go
31
realis.go
|
@ -47,6 +47,7 @@ type Realis interface {
|
||||||
GetJobUpdateSummaries(jobUpdateQuery *aurora.JobUpdateQuery) (*aurora.Response, error)
|
GetJobUpdateSummaries(jobUpdateQuery *aurora.JobUpdateQuery) (*aurora.Response, error)
|
||||||
GetTaskStatus(query *aurora.TaskQuery) ([]*aurora.ScheduledTask, error)
|
GetTaskStatus(query *aurora.TaskQuery) ([]*aurora.ScheduledTask, error)
|
||||||
GetTasksWithoutConfigs(query *aurora.TaskQuery) ([]*aurora.ScheduledTask, error)
|
GetTasksWithoutConfigs(query *aurora.TaskQuery) ([]*aurora.ScheduledTask, error)
|
||||||
|
GetJobs(role string) (*aurora.Response, *aurora.GetJobsResult_, error)
|
||||||
JobUpdateDetails(updateQuery aurora.JobUpdateQuery) (*aurora.Response, error)
|
JobUpdateDetails(updateQuery aurora.JobUpdateQuery) (*aurora.Response, error)
|
||||||
KillJob(key *aurora.JobKey) (*aurora.Response, error)
|
KillJob(key *aurora.JobKey) (*aurora.Response, error)
|
||||||
KillInstances(key *aurora.JobKey, instances ...int32) (*aurora.Response, error)
|
KillInstances(key *aurora.JobKey, instances ...int32) (*aurora.Response, error)
|
||||||
|
@ -548,6 +549,33 @@ func (r *realisClient) GetJobUpdateSummaries(jobUpdateQuery *aurora.JobUpdateQue
|
||||||
return resp, nil
|
return resp, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (r *realisClient) GetJobs(role string) (*aurora.Response, *aurora.GetJobsResult_, error) {
|
||||||
|
var resp *aurora.Response
|
||||||
|
var result *aurora.GetJobsResult_
|
||||||
|
var clientErr error
|
||||||
|
|
||||||
|
retryErr := ExponentialBackoff(*r.config.backoff, func() (bool, error) {
|
||||||
|
resp, clientErr = r.thriftCallHelper(func() (*aurora.Response, error) {
|
||||||
|
return r.readonlyClient.GetJobs(role)
|
||||||
|
})
|
||||||
|
|
||||||
|
if clientErr != nil {
|
||||||
|
return false, clientErr
|
||||||
|
}
|
||||||
|
return true, nil
|
||||||
|
})
|
||||||
|
|
||||||
|
if resp != nil && resp.GetResult_() != nil {
|
||||||
|
result = resp.GetResult_().GetJobsResult_
|
||||||
|
}
|
||||||
|
|
||||||
|
if retryErr != nil {
|
||||||
|
return nil, result, errors.Wrap(clientErr, retryErr.Error()+": Error getting Jobs from Aurora Scheduler")
|
||||||
|
}
|
||||||
|
|
||||||
|
return resp, result, nil
|
||||||
|
}
|
||||||
|
|
||||||
// Kill specific instances of a job.
|
// Kill specific instances of a job.
|
||||||
func (r *realisClient) KillInstances(key *aurora.JobKey, instances ...int32) (*aurora.Response, error) {
|
func (r *realisClient) KillInstances(key *aurora.JobKey, instances ...int32) (*aurora.Response, error) {
|
||||||
|
|
||||||
|
@ -696,6 +724,9 @@ func (r *realisClient) DescheduleCronJob(key *aurora.JobKey) (*aurora.Response,
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func (r *realisClient) StartCronJob(key *aurora.JobKey) (*aurora.Response, error) {
|
func (r *realisClient) StartCronJob(key *aurora.JobKey) (*aurora.Response, error) {
|
||||||
var resp *aurora.Response
|
var resp *aurora.Response
|
||||||
var clientErr error
|
var clientErr error
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue