Hi,
I am using god 0.11.0 on a Gentoo Linux for monitoring a non daemon
process and have the same symptoms as in
http://groups.google.com/group/god-rb/browse_thread/thread/41c7bc1329f57bb2#
(which I can't continue).
The :flapping condition does some logging but the process is flapping
forever.
I tracked it down a little bit and found out, that the :flapping
condition enqueues a driver operation due to the trigger call in
Flapping#process (line 74 of god/conditions/flapping.rb). This driver
operation is always in a queue with two driver events (for
:process_running and :tries) which will be handled first.
The handling of the :process_running event then leads to a clean up of
the events list and the driver operation of the :flapping condition is
never been processed.
I am not deep enough into the code to understand how it is intended to work.
Could anyone help or give a clue where to dig further?
Thanks
>tilo
--
You received this message because you are subscribed to the Google Groups
"god.rb" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/god-rb?hl=en.
God.watch do |w|
w.name = 'dcc'
w.start = %Q(su -c "/bin/bash --login -c '/home/develop/dcc/bin/dcc-worker'"
develop)
w.log = "/home/develop/dcc.worker.log"
w.behavior(:clean_pid_file)
w.interval = 5.seconds
w.transition(:init, {true => :up, false => :start}) do |on|
on.condition(:process_running) do |c|
c.running = true
end
end
w.transition([:start, :restart], :up) do |on|
on.condition(:process_running) do |c|
c.running = true
end
on.condition(:tries) do |c|
c.times = 5
c.transition = :start
end
end
w.transition(:up, :start) do |on|
on.condition(:process_exits)
end
w.transition(:up, :restart) do |on|
on.condition(:memory_usage) do |c|
c.interval = 60
c.above = 100.megabytes
c.times = [3, 5]
end
end
w.lifecycle do |on|
on.condition(:flapping) do |c|
c.to_state = [:start, :restart]
c.times = 5
c.within = 10.seconds
c.transition = :unmonitored
c.retry_in = 10.minutes
c.retry_times = 5
c.retry_within = 2.hours
end
end
end
myserver ~ # god -c /etc/god.conf -P /var/run/god.pid -D
I [2011-01-15 08:39:29] INFO: Loading /etc/god.conf
I [2011-01-15 08:39:29] INFO: Syslog enabled.
I [2011-01-15 08:39:29] INFO: Using pid file directory: /var/run/god
I [2011-01-15 08:39:29] INFO: Started on drbunix:///tmp/god.17165.sock
I [2011-01-15 08:39:29] INFO: dcc move 'unmonitored' to 'init'
I [2011-01-15 08:39:29] INFO: dcc moved 'unmonitored' to 'init'
I [2011-01-15 08:39:29] INFO: dcc [trigger] process is not running
(ProcessRunning)
I [2011-01-15 08:39:29] INFO: dcc move 'init' to 'start'
I [2011-01-15 08:39:29] INFO: dcc before_start: deleted pid file (CleanPidFile)
I [2011-01-15 08:39:29] INFO: dcc start: su -c "/bin/bash --login -c
'/home/develop/dcc/bin/dcc-worker'" develop
I [2011-01-15 08:39:29] INFO: dcc moved 'init' to 'start'
I [2011-01-15 08:39:29] INFO: dcc [trigger] process is running (ProcessRunning)
I [2011-01-15 08:39:29] INFO: dcc move 'start' to 'up'
I [2011-01-15 08:39:29] INFO: dcc registered 'proc_exit' event for pid 25839
I [2011-01-15 08:39:29] INFO: dcc moved 'start' to 'up'
I [2011-01-15 08:39:29] INFO: dcc [ok] memory within bounds [2324kb]
(MemoryUsage)
I [2011-01-15 08:39:31] INFO: dcc [trigger] process 25839 exited
{:thread_group_id=>25839, :exit_signal=>17, :exit_code=>256, :pid=>25839}
(ProcessExits)
I [2011-01-15 08:39:31] INFO: dcc move 'up' to 'start'
I [2011-01-15 08:39:31] INFO: dcc deregistered 'proc_exit' event for pid 25839
I [2011-01-15 08:39:31] INFO: dcc before_start: deleted pid file (CleanPidFile)
I [2011-01-15 08:39:31] INFO: dcc start: su -c "/bin/bash --login -c
'/home/develop/dcc/bin/dcc-worker'" develop
I [2011-01-15 08:39:31] INFO: dcc moved 'up' to 'start'
I [2011-01-15 08:39:31] INFO: dcc [trigger] process is running (ProcessRunning)
I [2011-01-15 08:39:31] INFO: dcc move 'start' to 'up'
I [2011-01-15 08:39:31] INFO: dcc registered 'proc_exit' event for pid 25842
I [2011-01-15 08:39:31] INFO: dcc moved 'start' to 'up'
I [2011-01-15 08:39:31] INFO: dcc [ok] memory within bounds [2324kb]
(MemoryUsage)
I [2011-01-15 08:39:32] INFO: dcc [trigger] process 25842 exited
{:thread_group_id=>25842, :exit_signal=>17, :exit_code=>256, :pid=>25842}
(ProcessExits)
I [2011-01-15 08:39:32] INFO: dcc move 'up' to 'start'
I [2011-01-15 08:39:32] INFO: dcc deregistered 'proc_exit' event for pid 25842
I [2011-01-15 08:39:32] INFO: dcc before_start: deleted pid file (CleanPidFile)
I [2011-01-15 08:39:32] INFO: dcc start: su -c "/bin/bash --login -c
'/home/develop/dcc/bin/dcc-worker'" develop
I [2011-01-15 08:39:33] INFO: dcc moved 'up' to 'start'
I [2011-01-15 08:39:33] INFO: dcc [trigger] process is running (ProcessRunning)
I [2011-01-15 08:39:33] INFO: dcc move 'start' to 'up'
I [2011-01-15 08:39:33] INFO: dcc registered 'proc_exit' event for pid 25845
I [2011-01-15 08:39:33] INFO: dcc moved 'start' to 'up'
I [2011-01-15 08:39:33] INFO: dcc [ok] memory within bounds [2324kb]
(MemoryUsage)
I [2011-01-15 08:39:34] INFO: dcc [trigger] process 25845 exited
{:thread_group_id=>25845, :exit_signal=>17, :exit_code=>256, :pid=>25845}
(ProcessExits)
I [2011-01-15 08:39:34] INFO: dcc move 'up' to 'start'
I [2011-01-15 08:39:34] INFO: dcc deregistered 'proc_exit' event for pid 25845
I [2011-01-15 08:39:34] INFO: dcc before_start: deleted pid file (CleanPidFile)
I [2011-01-15 08:39:34] INFO: dcc start: su -c "/bin/bash --login -c
'/home/develop/dcc/bin/dcc-worker'" develop
I [2011-01-15 08:39:34] INFO: dcc moved 'up' to 'start'
I [2011-01-15 08:39:34] INFO: dcc [trigger] process is running (ProcessRunning)
I [2011-01-15 08:39:34] INFO: dcc move 'start' to 'up'
I [2011-01-15 08:39:34] INFO: dcc registered 'proc_exit' event for pid 25848
I [2011-01-15 08:39:34] INFO: dcc moved 'start' to 'up'
I [2011-01-15 08:39:34] INFO: dcc [ok] memory within bounds [2324kb]
(MemoryUsage)
I [2011-01-15 08:39:36] INFO: dcc [trigger] process 25848 exited
{:thread_group_id=>25848, :exit_signal=>17, :exit_code=>256, :pid=>25848}
(ProcessExits)
I [2011-01-15 08:39:36] INFO: dcc move 'up' to 'start'
I [2011-01-15 08:39:36] INFO: dcc deregistered 'proc_exit' event for pid 25848
I [2011-01-15 08:39:36] INFO: dcc before_start: deleted pid file (CleanPidFile)
I [2011-01-15 08:39:36] INFO: dcc start: su -c "/bin/bash --login -c
'/home/develop/dcc/bin/dcc-worker'" develop
I [2011-01-15 08:39:36] INFO: dcc moved 'up' to 'start'
I [2011-01-15 08:39:36] INFO: dcc [trigger] process is running (ProcessRunning)
I [2011-01-15 08:39:36] INFO: dcc move 'start' to 'up'
I [2011-01-15 08:39:36] INFO: dcc registered 'proc_exit' event for pid 25851
I [2011-01-15 08:39:36] INFO: dcc moved 'start' to 'up'
I [2011-01-15 08:39:36] INFO: dcc [ok] memory within bounds [2320kb]
(MemoryUsage)
I [2011-01-15 08:39:37] INFO: dcc auto-reenable monitoring in 600 seconds
I [2011-01-15 08:39:37] INFO: dcc [trigger] process 25851 exited
{:thread_group_id=>25851, :exit_signal=>17, :exit_code=>256, :pid=>25851}
(ProcessExits)
I [2011-01-15 08:39:37] INFO: dcc move 'up' to 'start'
I [2011-01-15 08:39:37] INFO: dcc deregistered 'proc_exit' event for pid 25851
I [2011-01-15 08:39:37] INFO: dcc before_start: deleted pid file (CleanPidFile)
I [2011-01-15 08:39:37] INFO: dcc start: su -c "/bin/bash --login -c
'/home/develop/dcc/bin/dcc-worker'" develop
I [2011-01-15 08:39:37] INFO: dcc moved 'up' to 'start'
I [2011-01-15 08:39:37] INFO: dcc [trigger] process is running (ProcessRunning)
I [2011-01-15 08:39:37] INFO: dcc move 'start' to 'up'
I [2011-01-15 08:39:37] INFO: dcc registered 'proc_exit' event for pid 25854
I [2011-01-15 08:39:37] INFO: dcc moved 'start' to 'up'
I [2011-01-15 08:39:37] INFO: dcc [ok] memory within bounds [2324kb]
(MemoryUsage)
â¦