class Corleone::Server
Attributes
config_file[RW]
thread[RW]
Public Class Methods
new(emitter, collector, uri)
click to toggle source
# File lib/corleone/server.rb, line 5 def initialize(emitter, collector, uri) @emitter = emitter @collector = collector @uri = uri @runner_args = @emitter.runner_args @registry = Corleone::Registry.new end
Public Instance Methods
alive?()
click to toggle source
# File lib/corleone/server.rb, line 65 def alive? kill if finished? value = @thread.alive? value end
check_in(name)
click to toggle source
# File lib/corleone/server.rb, line 22 def check_in(name) logger.debug("worker checking in: #{name}") @registry.check_in(name) end
check_out(name)
click to toggle source
# File lib/corleone/server.rb, line 27 def check_out(name) logger.debug("worker checking out: #{name}") @registry.remove(name) end
finished?()
click to toggle source
# File lib/corleone/server.rb, line 57 def finished? @emitter.empty? && @registry.finished? end
get_item()
click to toggle source
# File lib/corleone/server.rb, line 40 def get_item return Corleone::Message::ZeroItems.new if @emitter.empty? message = @emitter.pop logger.debug("emitting item message: #{message.payload}") message end
get_runner_args()
click to toggle source
# File lib/corleone/server.rb, line 32 def get_runner_args if @runner_args logger.debug("emitting runner args message: #{@runner_args.payload}") end @runner_args end
kill()
click to toggle source
# File lib/corleone/server.rb, line 61 def kill @thread.kill end
log(type, message)
click to toggle source
# File lib/corleone/server.rb, line 17 def log(type, message) logger.send(type, message) return end
logger()
click to toggle source
# File lib/corleone/server.rb, line 13 def logger Corleone.logger end
ping()
click to toggle source
# File lib/corleone/server.rb, line 81 def ping; end
return_result(result)
click to toggle source
# File lib/corleone/server.rb, line 47 def return_result(result) if result.instance_of?(Corleone::Message::Result) logger.debug("result message received: #{result.payload}") @collector.process_result(result.payload) return end raise "result error: #{result}" end
start()
click to toggle source
# File lib/corleone/server.rb, line 71 def start logger.info("starting server") DRb.start_service(@uri, self) @thread = DRb.thread end
summarize()
click to toggle source
# File lib/corleone/server.rb, line 77 def summarize @collector.summarize end