monit-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Processes starting twice when using "check program"


From: Jonathan Apostoles
Subject: Processes starting twice when using "check program"
Date: Wed, 5 Sep 2012 22:22:20 -0700

Due to the way monit checks statuses it's starting my process twice on recovery.

Example:
check program locker_worker_status with path "/home/monit/worker_status.sh"
    start program = "/home/monit/start_worker.sh"
    if status != 0 then start

Imagine the worker is down and monit is set to check every minute:

0m- run check program (it's down, but wont read the status code until the next cycle)

1m- read status, it's DOWN
1m- run check program (it's still down at this point) -- will read next cycle
1m- since status was down, run start_worker.sh

2m- read status, it's DOWN (since it's from the run @1m)
2m- run check program (it's up at this point) -- will read next cycle
2m- since status was down, run start_worker.sh

3m- read status, it's UP

Is there a way to have it read the status BEFORE responding to it?  The way it works now it seems to be always a minute behind and suffer from recovering from a process that has already been recovered.  Is there any workaround so that my process only starts once?

reply via email to

[Prev in Thread] Current Thread [Next in Thread]