Class: Asyncapi::Client::Job
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Asyncapi::Client::Job
- Includes:
- AASM
- Defined in:
- app/models/asyncapi/client/job.rb
Class Method Summary collapse
- .initial_state ⇒ Object
- .non_initial_states ⇒ Object
- .post(url, headers: nil, body: nil, on_queue: nil, on_success: nil, on_error: nil, on_time_out: nil, on_queue_error: nil, callback_params: {}, follow_up: 5.minutes, time_out: nil) ⇒ Object
Instance Method Summary collapse
Class Method Details
.initial_state ⇒ Object
101 102 103 |
# File 'app/models/asyncapi/client/job.rb', line 101 def self.initial_state self.aasm.state_machine.initial_state end |
.non_initial_states ⇒ Object
105 106 107 108 109 |
# File 'app/models/asyncapi/client/job.rb', line 105 def self.non_initial_states self.aasm.states.reject do |state| state == initial_state end.map(&:name) end |
.post(url, headers: nil, body: nil, on_queue: nil, on_success: nil, on_error: nil, on_time_out: nil, on_queue_error: nil, callback_params: {}, follow_up: 5.minutes, time_out: nil) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'app/models/asyncapi/client/job.rb', line 48 def self.post(url, headers: nil, body: nil, on_queue: nil, on_success: nil, on_error: nil, on_time_out: nil, on_queue_error: nil, callback_params: {}, follow_up: 5.minutes, time_out: nil) args = { follow_up_at: follow_up.from_now, on_queue: on_queue, on_success: on_success, on_error: on_error, on_queue_error: on_queue_error, on_time_out: on_time_out, callback_params: callback_params, headers: headers, body: body, } args[:time_out_at] = time_out.from_now if time_out job = create(args) JobPostWorker.perform_async(job.id, url) end |
Instance Method Details
#body=(body) ⇒ Object
80 81 82 83 |
# File 'app/models/asyncapi/client/job.rb', line 80 def body=(body) json = body.is_a?(Hash) ? body.to_json : body write_attribute :body, json end |