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
Instance Method Summary collapse
Class Method Details
.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 75 76 |
# 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) ActiveRecord::Base.after_transaction do JobPostWorker.perform_async(job.id, url) end end |
Instance Method Details
#body=(body) ⇒ Object
82 83 84 85 |
# File 'app/models/asyncapi/client/job.rb', line 82 def body=(body) json = body.is_a?(Hash) ? body.to_json : body write_attribute :body, json end |
#url ⇒ Object
78 79 80 |
# File 'app/models/asyncapi/client/job.rb', line 78 def url Asyncapi::Client::Engine.routes.url_helpers.v1_job_url(self) end |