Class: ReMQ::Worker
- Inherits:
-
Object
- Object
- ReMQ::Worker
- Defined in:
- lib/ReMQ/Worker.rb
Instance Method Summary collapse
-
#add_queue(name) ⇒ Object
Add a queue to the worker.
-
#initialize(name = nil) ⇒ Worker
constructor
Create a new ReMQ worker.
-
#queues ⇒ Array
Return the list of quques that this worker will run.
-
#remove_queue(name) ⇒ Object
Remove a queue from the worker.
-
#run(args = {}) ⇒ Object
Run the worker.
Constructor Details
#initialize(name = nil) ⇒ Worker
Create a new ReMQ worker.
7 8 9 10 |
# File 'lib/ReMQ/Worker.rb', line 7 def initialize(name = nil) @queues = [] add_queue(name) if name end |
Instance Method Details
#add_queue(name) ⇒ Object
Add a queue to the worker.
22 23 24 25 26 |
# File 'lib/ReMQ/Worker.rb', line 22 def add_queue(name) queues = find_queues(name) queues << ReMQ.normalize_queue_name(name) @queues = @queues.concat(queues).uniq end |
#queues ⇒ Array
Return the list of quques that this worker will run.
15 16 17 |
# File 'lib/ReMQ/Worker.rb', line 15 def queues @queues.map { |name| name.gsub(/^remq\:/, '') } end |
#remove_queue(name) ⇒ Object
Remove a queue from the worker.
31 32 33 |
# File 'lib/ReMQ/Worker.rb', line 31 def remove_queue(name) @queues.delete(ReMQ.normalize_queue_name(name)) end |
#run(args = {}) ⇒ Object
Run the worker
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/ReMQ/Worker.rb', line 39 def run(args = {}) if args[:time] start = Time.now while (start + args[:time]) > Time.now do process(1) end elsif args[:count] args[:count].times do process(0) end else loop do process(0) end end end |