class Protobuf::Rpc::ZmqRunner
Private Class Methods
new(options)
click to toggle source
# File lib/protobuf/rpc/servers/zmq_runner.rb, line 9 def initialize(options) @options = case when options.is_a?(OpenStruct) then options.marshal_dump when options.respond_to?(:to_hash) then options.to_hash.symbolize_keys else fail "Cannot parser Zmq Server - server options" end end
Private Instance Methods
register_signals()
click to toggle source
# File lib/protobuf/rpc/servers/zmq_runner.rb, line 38 def register_signals trap(:TRAP) do ::Thread.list.each do |thread| logger.info do <<-THREAD_TRACE #{thread.inspect}: #{thread.backtrace.try(:join, $INPUT_RECORD_SEPARATOR)}" THREAD_TRACE end end end trap(:TTIN) do @server.add_worker logger.info { "Increased worker size to: #{@server.total_workers}" } end trap(:TTOU) do logger.info { "Current worker size: #{@server.workers.size}" } logger.info { "Current busy worker size: #{@server.busy_worker_count}" } end end
run() { || ... }
click to toggle source
# File lib/protobuf/rpc/servers/zmq_runner.rb, line 20 def run @server = ::Protobuf::Rpc::Zmq::Server.new(@options) register_signals @server.run do yield if block_given? end end
running?()
click to toggle source
# File lib/protobuf/rpc/servers/zmq_runner.rb, line 28 def running? @server.try :running? end
stop()
click to toggle source
# File lib/protobuf/rpc/servers/zmq_runner.rb, line 32 def stop @server.try :stop end