class BackgroundTaskJob
Public Class Methods
reset_all_queues()
click to toggle source
# File lib/engine/app/lib/jobs/background_task_job.rb, line 38 def self.reset_all_queues Delayed::Job.where("queue like 'task_%'").destroy_all Task.all.each{|task| new(task).add_to_queue} end
Public Instance Methods
add_to_queue()
click to toggle source
# File lib/engine/app/lib/jobs/background_task_job.rb, line 14 def add_to_queue if task.active? Delayed::Job.enqueue(self, queue: queue_name, run_at: run_at) end end
after(job)
click to toggle source
# File lib/engine/app/lib/jobs/background_task_job.rb, line 33 def after(job) refresh_data add_to_queue if task end
clear_queue()
click to toggle source
# File lib/engine/app/lib/jobs/background_task_job.rb, line 10 def clear_queue Delayed::Job.where(queue: queue_name).destroy_all end
perform()
click to toggle source
# File lib/engine/app/lib/jobs/background_task_job.rb, line 25 def perform task.perform end
queue_name()
click to toggle source
# File lib/engine/app/lib/jobs/background_task_job.rb, line 2 def queue_name "task_#{task.id}" end
refresh_data()
click to toggle source
# File lib/engine/app/lib/jobs/background_task_job.rb, line 29 def refresh_data self.task = Task.where(id: task.id).first end
reset_queue()
click to toggle source
# File lib/engine/app/lib/jobs/background_task_job.rb, line 20 def reset_queue clear_queue add_to_queue end
run_at()
click to toggle source
# File lib/engine/app/lib/jobs/background_task_job.rb, line 6 def run_at task.every.seconds.from_now end