Sha256: 95d58c3a362235836f472be1b717a80ff007464d8cf2c100deaad8b56dcd6e66
Contents?: true
Size: 1.42 KB
Versions: 2
Compression:
Stored size: 1.42 KB
Contents
module Pione module Command # PioneBroker is a command for starting a PIONE broker agent. Brokers # provides task processing ability to the system. class PioneBroker < DaemonProcess define_info do set_name "pione-broker" set_tail {|cmd| "{TaskWorker: %s}" % cmd.option[:task_worker]} set_banner "Run broker agent to launch task workers." end define_option do use :color use :daemon use :debug use :features use :my_ip_address use :show_communication use :task_worker validate do |option| unless option[:task_worker] > 0 abort("error: no task worker resources") end end end attr_reader :broker def create_front Front::BrokerFront.new(self) end prepare do @broker = Pione::Agent[:broker].new( option[:features], task_worker_resource: option[:task_worker] ) @tuple_space_receiver = Pione::TupleSpaceReceiver.instance end start do # start broker agent @broker.start # start tuple space receiver with the broker agent @tuple_space_receiver.register(@broker) # wait begin DRb.thread.join rescue DRb::ReplyReaderThreadError retry end end terminate do @broker.terminate end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
pione-0.2.2 | lib/pione/command/pione-broker.rb |
pione-0.2.1 | lib/pione/command/pione-broker.rb |