Class: Smplkit::Jobs::RetryPoliciesClient
- Inherits:
-
Object
- Object
- Smplkit::Jobs::RetryPoliciesClient
- Defined in:
- lib/smplkit/jobs/client.rb
Overview
client.jobs.retry_policies.* — manage reusable, account-global retry policies.
A RetryPolicy is an active record: build one with #new, set fields, and call #save; then reference it from a job’s retry_policy (see JobsClient#new_recurring_job and Job#set_retry_policy). Retry policies are account-global — never environment-scoped.
Instance Method Summary collapse
- #_create_retry_policy(policy) ⇒ Object
- #_update_retry_policy(policy) ⇒ Object
-
#delete(id) ⇒ nil
Delete a retry policy by its id.
-
#get(id) ⇒ Smplkit::Jobs::RetryPolicy
Fetch a single retry policy by its id.
-
#initialize(api) ⇒ RetryPoliciesClient
constructor
A new instance of RetryPoliciesClient.
-
#list(name: nil, page_number: nil, page_size: nil) ⇒ Array<Smplkit::Jobs::RetryPolicy>
List retry policies in the account.
-
#new(id, name:, max_retries:, backoff:, delay_seconds:, max_delay_seconds: nil, retry_on_timeout: false, retry_on_connection_error: false, retry_statuses: nil, retry_statuses_except: nil) ⇒ Smplkit::Jobs::RetryPolicy
Construct an unsaved RetryPolicy bound to this client.
Constructor Details
#initialize(api) ⇒ RetryPoliciesClient
Returns a new instance of RetryPoliciesClient.
122 123 124 |
# File 'lib/smplkit/jobs/client.rb', line 122 def initialize(api) @api = api end |
Instance Method Details
#_create_retry_policy(policy) ⇒ Object
210 211 212 213 214 215 216 217 |
# File 'lib/smplkit/jobs/client.rb', line 210 def _create_retry_policy(policy) if policy.id.nil? || policy.id.empty? raise ArgumentError, "RetryPolicy.id is required on create (caller-supplied key)" end resp = Jobs.call_api { @api.create_retry_policy(build_create_body(policy)) } RetryPolicy.from_resource(resp.data, client: self) end |
#_update_retry_policy(policy) ⇒ Object
221 222 223 224 225 226 |
# File 'lib/smplkit/jobs/client.rb', line 221 def _update_retry_policy(policy) raise ArgumentError, "cannot update a RetryPolicy with no id" if policy.id.nil? resp = Jobs.call_api { @api.update_retry_policy(policy.id, build_body(policy)) } RetryPolicy.from_resource(resp.data, client: self) end |
#delete(id) ⇒ nil
Delete a retry policy by its id.
202 203 204 205 |
# File 'lib/smplkit/jobs/client.rb', line 202 def delete(id) Jobs.call_api { @api.delete_retry_policy(id) } nil end |
#get(id) ⇒ Smplkit::Jobs::RetryPolicy
Fetch a single retry policy by its id.
193 194 195 196 |
# File 'lib/smplkit/jobs/client.rb', line 193 def get(id) resp = Jobs.call_api { @api.get_retry_policy(id) } RetryPolicy.from_resource(resp.data, client: self) end |
#list(name: nil, page_number: nil, page_size: nil) ⇒ Array<Smplkit::Jobs::RetryPolicy>
List retry policies in the account.
178 179 180 181 182 183 184 185 186 |
# File 'lib/smplkit/jobs/client.rb', line 178 def list(name: nil, page_number: nil, page_size: nil) opts = {} opts[:filter_name] = name unless name.nil? opts[:page_number] = page_number unless page_number.nil? opts[:page_size] = page_size unless page_size.nil? resp = Jobs.call_api { @api.list_retry_policies(opts) } (resp.data || []).map { |r| RetryPolicy.from_resource(r, client: self) } end |
#new(id, name:, max_retries:, backoff:, delay_seconds:, max_delay_seconds: nil, retry_on_timeout: false, retry_on_connection_error: false, retry_statuses: nil, retry_statuses_except: nil) ⇒ Smplkit::Jobs::RetryPolicy
Construct an unsaved Smplkit::Jobs::RetryPolicy bound to this client. Call #save on the returned instance to create it.
156 157 158 159 160 161 162 163 164 165 166 167 |
# File 'lib/smplkit/jobs/client.rb', line 156 def new(id, name:, max_retries:, backoff:, delay_seconds:, max_delay_seconds: nil, retry_on_timeout: false, retry_on_connection_error: false, retry_statuses: nil, retry_statuses_except: nil) RetryPolicy.new( self, id: id, name: name, max_retries: max_retries, backoff: backoff, delay_seconds: delay_seconds, max_delay_seconds: max_delay_seconds, retry_on_timeout: retry_on_timeout, retry_on_connection_error: retry_on_connection_error, retry_statuses: retry_statuses, retry_statuses_except: retry_statuses_except ) end |