test/configs/child_events/child_events.god in god-0.4.3 vs test/configs/child_events/child_events.god in god-0.5.0

- old
+ new

@@ -1,9 +1,15 @@ +module God + module Behaviors + end +end + God.watch do |w| w.name = "child-events" w.interval = 5.seconds - w.start = File.join(File.dirname(__FILE__), *%w[simple_server.rb]) + w.start = File.join(GOD_ROOT, *%w[test configs child_events simple_server.rb]) + w.log = File.join(GOD_ROOT, *%w[test configs child_events god.log]) # determine the state on startup w.transition(:init, { true => :up, false => :start }) do |on| on.condition(:process_running) do |c| c.running = true @@ -24,7 +30,20 @@ end # start if process is not running w.transition(:up, :start) do |on| on.condition(:process_exits) + end + + # lifecycle + w.lifecycle do |on| + on.condition(:flapping) do |c| + c.to_state = [:start, :restart] + c.times = 5 + c.within = 20.seconds + c.transition = :unmonitored + c.retry_in = 10.seconds + c.retry_times = 2 + c.retry_within = 5.minutes + end end end \ No newline at end of file