Class: Conductor::Http::Api::SchedulerResourceApi

Inherits:
Object
  • Object
show all
Defined in:
lib/conductor/http/api/scheduler_resource_api.rb

Overview

SchedulerResourceApi - API for workflow schedule operations

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_client = nil) ⇒ SchedulerResourceApi

Returns a new instance of SchedulerResourceApi.



12
13
14
# File 'lib/conductor/http/api/scheduler_resource_api.rb', line 12

def initialize(api_client = nil)
  @api_client = api_client || ApiClient.new
end

Instance Attribute Details

#api_clientObject

Returns the value of attribute api_client.



10
11
12
# File 'lib/conductor/http/api/scheduler_resource_api.rb', line 10

def api_client
  @api_client
end

Instance Method Details

#delete_schedule(name) ⇒ void

This method returns an undefined value.

Delete a schedule

Parameters:

  • name (String)

    Schedule name



60
61
62
63
64
65
66
67
# File 'lib/conductor/http/api/scheduler_resource_api.rb', line 60

def delete_schedule(name)
  @api_client.call_api(
    '/scheduler/schedules/{name}',
    'DELETE',
    path_params: { name: name },
    return_http_data_only: true
  )
end

#delete_tag_for_schedule(name, tags) ⇒ void

This method returns an undefined value.

Delete tags for a schedule

Parameters:

  • name (String)

    Schedule name

  • tags (Array<Hash>)

    List of tags to delete



199
200
201
202
203
204
205
206
207
# File 'lib/conductor/http/api/scheduler_resource_api.rb', line 199

def delete_tag_for_schedule(name, tags)
  @api_client.call_api(
    '/scheduler/schedules/{name}/tags',
    'DELETE',
    path_params: { name: name },
    body: tags,
    return_http_data_only: true
  )
end

#get_all_schedules(workflow_name: nil) ⇒ Array<WorkflowSchedule>

Get all schedules

Parameters:

  • workflow_name (String) (defaults to: nil)

    Filter by workflow name (optional)

Returns:

  • (Array<WorkflowSchedule>)


44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/conductor/http/api/scheduler_resource_api.rb', line 44

def get_all_schedules(workflow_name: nil)
  query_params = {}
  query_params[:workflowName] = workflow_name if workflow_name

  @api_client.call_api(
    '/scheduler/schedules',
    'GET',
    query_params: query_params,
    return_type: 'Array<WorkflowSchedule>',
    return_http_data_only: true
  )
end

#get_next_few_schedules(cron_expression, schedule_start_time: nil, schedule_end_time: nil, limit: nil) ⇒ Array<Integer>

Get next few schedule execution times

Parameters:

  • cron_expression (String)

    Cron expression

  • schedule_start_time (Integer) (defaults to: nil)

    Start time (epoch ms, optional)

  • schedule_end_time (Integer) (defaults to: nil)

    End time (epoch ms, optional)

  • limit (Integer) (defaults to: nil)

    Number of times to return (optional)

Returns:

  • (Array<Integer>)


121
122
123
124
125
126
127
128
129
130
131
132
133
134
# File 'lib/conductor/http/api/scheduler_resource_api.rb', line 121

def get_next_few_schedules(cron_expression, schedule_start_time: nil, schedule_end_time: nil, limit: nil)
  query_params = { cronExpression: cron_expression }
  query_params[:scheduleStartTime] = schedule_start_time if schedule_start_time
  query_params[:scheduleEndTime] = schedule_end_time if schedule_end_time
  query_params[:limit] = limit if limit

  @api_client.call_api(
    '/scheduler/nextFewSchedules',
    'GET',
    query_params: query_params,
    return_type: 'Array<Integer>',
    return_http_data_only: true
  )
end

#get_schedule(name) ⇒ WorkflowSchedule

Get a schedule by name

Parameters:

  • name (String)

    Schedule name

Returns:

  • (WorkflowSchedule)


31
32
33
34
35
36
37
38
39
# File 'lib/conductor/http/api/scheduler_resource_api.rb', line 31

def get_schedule(name)
  @api_client.call_api(
    '/scheduler/schedules/{name}',
    'GET',
    path_params: { name: name },
    return_type: 'WorkflowSchedule',
    return_http_data_only: true
  )
end

#get_tags_for_schedule(name) ⇒ Array<Hash>

Get tags for a schedule

Parameters:

  • name (String)

    Schedule name

Returns:

  • (Array<Hash>)


185
186
187
188
189
190
191
192
193
# File 'lib/conductor/http/api/scheduler_resource_api.rb', line 185

def get_tags_for_schedule(name)
  @api_client.call_api(
    '/scheduler/schedules/{name}/tags',
    'GET',
    path_params: { name: name },
    return_type: 'Array<Object>',
    return_http_data_only: true
  )
end

#pause_all_schedulesHash

Pause all schedules

Returns:

  • (Hash)


95
96
97
98
99
100
101
102
# File 'lib/conductor/http/api/scheduler_resource_api.rb', line 95

def pause_all_schedules
  @api_client.call_api(
    '/scheduler/admin/pause',
    'GET',
    return_type: 'Hash<String, Object>',
    return_http_data_only: true
  )
end

#pause_schedule(name) ⇒ void

This method returns an undefined value.

Pause a schedule

Parameters:

  • name (String)

    Schedule name



72
73
74
75
76
77
78
79
# File 'lib/conductor/http/api/scheduler_resource_api.rb', line 72

def pause_schedule(name)
  @api_client.call_api(
    '/scheduler/schedules/{name}/pause',
    'GET',
    path_params: { name: name },
    return_http_data_only: true
  )
end

#put_tag_for_schedule(name, tags) ⇒ void

This method returns an undefined value.

Set tags for a schedule

Parameters:

  • name (String)

    Schedule name

  • tags (Array<Hash>)

    List of tags



172
173
174
175
176
177
178
179
180
# File 'lib/conductor/http/api/scheduler_resource_api.rb', line 172

def put_tag_for_schedule(name, tags)
  @api_client.call_api(
    '/scheduler/schedules/{name}/tags',
    'PUT',
    path_params: { name: name },
    body: tags,
    return_http_data_only: true
  )
end

#requeue_all_execution_recordsHash

Requeue all execution records

Returns:

  • (Hash)


159
160
161
162
163
164
165
166
# File 'lib/conductor/http/api/scheduler_resource_api.rb', line 159

def requeue_all_execution_records
  @api_client.call_api(
    '/scheduler/admin/requeue',
    'GET',
    return_type: 'Hash<String, Object>',
    return_http_data_only: true
  )
end

#resume_all_schedulesHash

Resume all schedules

Returns:

  • (Hash)


106
107
108
109
110
111
112
113
# File 'lib/conductor/http/api/scheduler_resource_api.rb', line 106

def resume_all_schedules
  @api_client.call_api(
    '/scheduler/admin/resume',
    'GET',
    return_type: 'Hash<String, Object>',
    return_http_data_only: true
  )
end

#resume_schedule(name) ⇒ void

This method returns an undefined value.

Resume a schedule

Parameters:

  • name (String)

    Schedule name



84
85
86
87
88
89
90
91
# File 'lib/conductor/http/api/scheduler_resource_api.rb', line 84

def resume_schedule(name)
  @api_client.call_api(
    '/scheduler/schedules/{name}/resume',
    'GET',
    path_params: { name: name },
    return_http_data_only: true
  )
end

#save_schedule(body) ⇒ void

This method returns an undefined value.

Save (create/update) a workflow schedule

Parameters:

  • body (SaveScheduleRequest)

    Schedule request



19
20
21
22
23
24
25
26
# File 'lib/conductor/http/api/scheduler_resource_api.rb', line 19

def save_schedule(body)
  @api_client.call_api(
    '/scheduler/schedules',
    'POST',
    body: body,
    return_http_data_only: true
  )
end

#search_v2(start: 0, size: 100, sort: nil, free_text: '*', query: nil) ⇒ SearchResult

Search schedule executions

Parameters:

  • start (Integer) (defaults to: 0)

    Start index (default: 0)

  • size (Integer) (defaults to: 100)

    Page size (default: 100)

  • sort (String) (defaults to: nil)

    Sort order (optional)

  • free_text (String) (defaults to: '*')

    Free text search (default: '*')

  • query (String) (defaults to: nil)

    Query string (optional)

Returns:

  • (SearchResult)


143
144
145
146
147
148
149
150
151
152
153
154
155
# File 'lib/conductor/http/api/scheduler_resource_api.rb', line 143

def search_v2(start: 0, size: 100, sort: nil, free_text: '*', query: nil)
  query_params = { start: start, size: size, freeText: free_text }
  query_params[:sort] = sort if sort
  query_params[:query] = query if query

  @api_client.call_api(
    '/scheduler/search/executions',
    'GET',
    query_params: query_params,
    return_type: 'SearchResult',
    return_http_data_only: true
  )
end