Class: Parapool::Worker

Inherits:
Object
  • Object
show all
Defined in:
lib/parapool/worker.rb

Instance Method Summary collapse

Constructor Details

#initialize(queue) ⇒ Worker

Returns a new instance of Worker.

Raises:

  • (TypeError)


5
6
7
8
9
# File 'lib/parapool/worker.rb', line 5

def initialize(queue)
  raise TypeError, "wrong argument type #{queue.class} (expected Queue)" unless queue.is_a?(Queue)

  @queue = queue
end

Instance Method Details

#joinObject



21
22
23
# File 'lib/parapool/worker.rb', line 21

def join
  @thread.join
end

#runObject



11
12
13
14
15
16
17
18
19
# File 'lib/parapool/worker.rb', line 11

def run
  @thread = Thread.new do
    while job = @queue.pop do
      job.run
    end
  end

  self
end