class Pione::Agent::JobTerminator

JobTerminator is an agent that terminates the target agent when “terminate” command is received.

Public Class Methods

new(tuple_space, &b) click to toggle source
Calls superclass method
# File lib/pione/agent/job-terminator.rb, line 8
def initialize(tuple_space, &b)
  super(tuple_space)
  @action = b
end

Public Instance Methods

transit_to_fire(status) click to toggle source
# File lib/pione/agent/job-terminator.rb, line 37
def transit_to_fire(status)
  Log::Debug.system("job terminator fires the action %s." % @action)
  @action.call(status)
end
transit_to_wait() click to toggle source

transition methods

# File lib/pione/agent/job-terminator.rb, line 28
def transit_to_wait
  tuple = read(TupleSpace::CommandTuple.new(name: "terminate"))
  status = System::Status.success
  unless tuple.args.empty?
    status = tuple.args.first
  end
  return status
end