Module: Delayed::Backend::Base::ClassMethods

Defined in:
lib/ext/delayed_job.rb

Instance Method Summary collapse

Instance Method Details

#enqueue(*args) ⇒ Object



6
7
8
9
10
# File 'lib/ext/delayed_job.rb', line 6

def enqueue(*args)
  job = old_enqueue(*args)
  job.update_attributes(job_name: job.name) if job.is_a? Delayed::Backend::ActiveRecord::Job
  job
end

#failed(job_name = nil) ⇒ Object



17
18
19
20
# File 'lib/ext/delayed_job.rb', line 17

def failed(job_name = nil)
  failed = job_name ? where(job_name: job_name) : scoped
  failed.where("failed_at is not null and attempts >= #{Delayed::Worker.max_attempts}")
end

#old_enqueueObject



5
# File 'lib/ext/delayed_job.rb', line 5

alias_method :old_enqueue, :enqueue

#pending(job_name = nil) ⇒ Object



22
23
24
25
# File 'lib/ext/delayed_job.rb', line 22

def pending(job_name = nil)
  pending = job_name ? where(job_name: job_name) : scoped
  pending.where(locked_at: nil, failed_at: nil)
end

#retrying(job_name = nil) ⇒ Object



27
28
29
30
# File 'lib/ext/delayed_job.rb', line 27

def retrying(job_name = nil)
  retrying = job_name ? where(job_name: job_name) : scoped
  retrying.where(locked_at: nil).where("failed_at is not null").where("attempts < #{Delayed::Worker.max_attempts}")
end

#running(job_name = nil) ⇒ Object



12
13
14
15
# File 'lib/ext/delayed_job.rb', line 12

def running(job_name = nil)
  running = job_name ? where(job_name: job_name) : scoped
  running.where("locked_at is not null").where(:attempts => 0)
end