Sha256: b048a5c67a2c4c3e52770b2cb30860cac31dcc705ce80963ff5bdf10a72ae82f
Contents?: true
Size: 964 Bytes
Versions: 2
Compression:
Stored size: 964 Bytes
Contents
module Pione module Agent # JobTerminator is an agent that terminates the target agent when # "terminate" command is received. class JobTerminator < TupleSpaceClient set_agent_type :job_terminator, self def initialize(space, &b) super(space) @action = b end # # transition definitions # define_transition :wait define_transition :fire chain :init => :wait chain :wait => :fire chain :fire => :terminate # # transition methods # 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 def transit_to_fire(status) Log::Debug.system("job terminator fires the action %s." % @action) @action.call(status) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
pione-0.3.2 | lib/pione/agent/job-terminator.rb |
pione-0.3.1 | lib/pione/agent/job-terminator.rb |