implement provider_job_id
for Backburner jobs
This commit is contained in:
parent
ba19dbc499
commit
0cb0880b1a
@ -1,3 +1,7 @@
|
|||||||
|
* Set `provider_job_id` for Backburner jobs
|
||||||
|
|
||||||
|
*Cameron Matheson*
|
||||||
|
|
||||||
* Add `perform_all_later` to enqueue multiple jobs at once
|
* Add `perform_all_later` to enqueue multiple jobs at once
|
||||||
|
|
||||||
This adds the ability to bulk enqueue jobs, without running callbacks, by
|
This adds the ability to bulk enqueue jobs, without running callbacks, by
|
||||||
|
@ -16,12 +16,16 @@ module QueueAdapters
|
|||||||
# Rails.application.config.active_job.queue_adapter = :backburner
|
# Rails.application.config.active_job.queue_adapter = :backburner
|
||||||
class BackburnerAdapter
|
class BackburnerAdapter
|
||||||
def enqueue(job) # :nodoc:
|
def enqueue(job) # :nodoc:
|
||||||
Backburner::Worker.enqueue(JobWrapper, [job.serialize], queue: job.queue_name, pri: job.priority)
|
response = Backburner::Worker.enqueue(JobWrapper, [job.serialize], queue: job.queue_name, pri: job.priority)
|
||||||
|
job.provider_job_id = response[:id] if response.is_a?(Hash)
|
||||||
|
response
|
||||||
end
|
end
|
||||||
|
|
||||||
def enqueue_at(job, timestamp) # :nodoc:
|
def enqueue_at(job, timestamp) # :nodoc:
|
||||||
delay = timestamp - Time.current.to_f
|
delay = timestamp - Time.current.to_f
|
||||||
Backburner::Worker.enqueue(JobWrapper, [job.serialize], queue: job.queue_name, pri: job.priority, delay: delay)
|
response = Backburner::Worker.enqueue(JobWrapper, [job.serialize], queue: job.queue_name, pri: job.priority, delay: delay)
|
||||||
|
job.provider_job_id = response[:id] if response.is_a?(Hash)
|
||||||
|
response
|
||||||
end
|
end
|
||||||
|
|
||||||
class JobWrapper # :nodoc:
|
class JobWrapper # :nodoc:
|
||||||
|
Loading…
Reference in New Issue
Block a user