class Orchestra::ThreadPool::Job
Constants
- Failed
Attributes
block[RW]
Public Class Methods
new(block)
click to toggle source
# File lib/orchestra/thread_pool.rb, line 121 def initialize block @block = block @output_queue = Queue.new end
Public Instance Methods
done?()
click to toggle source
# File lib/orchestra/thread_pool.rb, line 126 def done? not @output_queue.empty? end
execute()
click to toggle source
# File lib/orchestra/thread_pool.rb, line 130 def execute @output_queue.push block.call end
set_error(error)
click to toggle source
# File lib/orchestra/thread_pool.rb, line 134 def set_error error @error = error @output_queue.push Failed end
wait()
click to toggle source
# File lib/orchestra/thread_pool.rb, line 139 def wait result = @output_queue.pop changed if result == Failed notify_observers :failed, error raise error else notify_observers :finished, result end result end