class Smith::Commands::Restart
Public Instance Methods
execute()
click to toggle source
# File lib/smith/commands/agency/restart.rb, line 13 def execute Messaging::Sender.new(QueueDefinitions::Agency_control.call) do |sender| @sender = sender # agent is a method and as such I cannot pass it into the block. # This just assigns it to a local method making it all work. lagents = agents # lagents.each do |agent_name| worker = ->(agent_name, iter) do lagents[agent_name].stop lagents[agent_name].add_callback(:acknowledge_stop) do lagents.invalidate(agent_name) lagents[agent_name].start end iter.next end done = -> { responder.succeed('') } EM::Iterator.new(target).each(worker, done) end end
Private Instance Methods
options_spec()
click to toggle source
# File lib/smith/commands/agency/restart.rb, line 39 def options_spec banner "Restart an agent/agents." opt :group, "Start everything in the specified group", :type => :string, :short => :g end