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