Class: ActiveJob::Queue

Inherits:
Object
  • Object
show all
Defined in:
lib/active_job/queue.rb

Overview

A queue of jobs

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, size: nil, active: nil, queue_adapter: ActiveJob::Base.queue_adapter) ⇒ Queue

Returns a new instance of Queue.



5
6
7
8
9
10
11
# File 'lib/active_job/queue.rb', line 5

def initialize(name, size: nil, active: nil, queue_adapter: ActiveJob::Base.queue_adapter)
  @name = name
  @queue_adapter = queue_adapter

  @size = size
  @active = active
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



3
4
5
# File 'lib/active_job/queue.rb', line 3

def name
  @name
end

Instance Method Details

#active?Boolean

Returns:

  • (Boolean)


39
40
41
42
# File 'lib/active_job/queue.rb', line 39

def active?
  return @active unless @active.nil?
  @active = !queue_adapter.queue_paused?(name)
end

#clearObject



19
20
21
# File 'lib/active_job/queue.rb', line 19

def clear
  queue_adapter.clear_queue(name)
end

#empty?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/active_job/queue.rb', line 23

def empty?
  size == 0
end

#idObject Also known as: to_param



54
55
56
# File 'lib/active_job/queue.rb', line 54

def id
  name.parameterize
end

#jobsObject

Return an ActiveJob::JobsRelation with the pending jobs in the queue.



45
46
47
# File 'lib/active_job/queue.rb', line 45

def jobs
  ActiveJob::JobsRelation.new(queue_adapter: queue_adapter).pending.where(queue_name: name)
end

#pauseObject



27
28
29
# File 'lib/active_job/queue.rb', line 27

def pause
  queue_adapter.pause_queue(name)
end

#paused?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/active_job/queue.rb', line 35

def paused?
  !active?
end

#reloadObject



49
50
51
52
# File 'lib/active_job/queue.rb', line 49

def reload
  @active = @size = nil
  self
end

#resumeObject



31
32
33
# File 'lib/active_job/queue.rb', line 31

def resume
  queue_adapter.resume_queue(name)
end

#sizeObject Also known as: length



13
14
15
# File 'lib/active_job/queue.rb', line 13

def size
  @size ||= queue_adapter.queue_size(name)
end