Class: Swarm::Engine::Queue

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

Direct Known Subclasses

Volatile::Queue

Defined Under Namespace

Classes: JobNotFoundError, JobReservationFailed

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:) ⇒ Queue

Returns a new instance of Queue.



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

def initialize(name:)
  @name = name
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



11
12
13
# File 'lib/swarm/engine/queue.rb', line 11

def name
  @name
end

Instance Method Details

#add_job(_data) ⇒ Object



21
22
23
# File 'lib/swarm/engine/queue.rb', line 21

def add_job(_data)
  raise "Not implemented yet!"
end

#bury_job(job) ⇒ Object



33
34
35
# File 'lib/swarm/engine/queue.rb', line 33

def bury_job(job)
  job.bury if job.exists?
end

#clean_up_job(job) ⇒ Object



37
38
39
# File 'lib/swarm/engine/queue.rb', line 37

def clean_up_job(job)
  job.bury if job.exists? && job.reserved?
end

#clearObject



49
50
51
# File 'lib/swarm/engine/queue.rb', line 49

def clear
  raise "Not implemented yet!"
end

#delete_job(job) ⇒ Object



29
30
31
# File 'lib/swarm/engine/queue.rb', line 29

def delete_job(job)
  job.delete
end

#idle?Boolean

Returns:

  • (Boolean)


53
54
55
# File 'lib/swarm/engine/queue.rb', line 53

def idle?
  raise "Not implemented yet!"
end

#prepare_for_work(_worker) ⇒ Object



17
18
19
# File 'lib/swarm/engine/queue.rb', line 17

def prepare_for_work(_worker)
  raise "Not implemented yet!"
end

#remove_worker(_worker, stop_job:) ⇒ Object



41
42
43
44
45
46
47
# File 'lib/swarm/engine/queue.rb', line 41

def remove_worker(_worker, stop_job:)
  if worker_count <= 1
    stop_job.delete
  else
    stop_job.release
  end
end

#reserve_job(_worker) ⇒ Object



25
26
27
# File 'lib/swarm/engine/queue.rb', line 25

def reserve_job(_worker)
  raise "Not implemented yet!"
end

#worker_countObject



57
58
59
# File 'lib/swarm/engine/queue.rb', line 57

def worker_count
  raise "Not implemented yet!"
end