Class: Swarm::Engine::Queue

Inherits:
Object
  • Object
show all
Defined in:
lib/swarm/engine/base/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



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

def initialize(name:)
  @name = name
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



9
10
11
# File 'lib/swarm/engine/base/queue.rb', line 9

def name
  @name
end

Instance Method Details

#add_job(data) ⇒ Object



19
20
21
# File 'lib/swarm/engine/base/queue.rb', line 19

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

#bury_job(job) ⇒ Object



31
32
33
# File 'lib/swarm/engine/base/queue.rb', line 31

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

#clean_up_job(job) ⇒ Object



35
36
37
# File 'lib/swarm/engine/base/queue.rb', line 35

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

#clearObject



47
48
49
# File 'lib/swarm/engine/base/queue.rb', line 47

def clear
  raise "Not implemented yet!"
end

#delete_job(job) ⇒ Object



27
28
29
# File 'lib/swarm/engine/base/queue.rb', line 27

def delete_job(job)
  job.delete
end

#idle?Boolean



51
52
53
# File 'lib/swarm/engine/base/queue.rb', line 51

def idle?
  raise "Not implemented yet!"
end

#prepare_for_work(worker) ⇒ Object



15
16
17
# File 'lib/swarm/engine/base/queue.rb', line 15

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

#remove_worker(worker, stop_job:) ⇒ Object



39
40
41
42
43
44
45
# File 'lib/swarm/engine/base/queue.rb', line 39

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

#reserve_job(worker) ⇒ Object



23
24
25
# File 'lib/swarm/engine/base/queue.rb', line 23

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

#worker_countObject



55
56
57
# File 'lib/swarm/engine/base/queue.rb', line 55

def worker_count
  raise "Not implemented yet!"
end