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

Re: Supervisor programma



Zoiets dan?

valid_crash=10
maxcrash=10
count=0
while [ true ]; do
  starttime=`date +'%s'`
  /usr/local/bin/app
  endtime=`date +'%s'`
  echo "crashed" | mail -s "app crashed" noc@domain.com
  difftime=$(($endtime - $starttime))

  if [ $difftime -lt $valid_crash ]; then
    count=$(($count+1))
  fi

  if [ $count -gt $maxcrash ]; then
    echo "maxcrash" | mail -s "app max crash" noc@domain.com
    exit 1
  fi
done

Als je applicatie nu binnen 10seconden crashed, telt die hem als "valid_crash", bij 10x stopt die, alle crashes met een grotere interval dan 10 seconden telt die niet als valid_crash en zal die gewoon blijven loopen.

Mark Stunnenberg
Databoss bv.

On 12/12/11 3:10 PM, Paul van der Vlis wrote:
Op 12-12-11 10:35, Mark Stunnenberg schreef:
Geen idee betreft zo'n tool, ik maak altijd een while true loopje

maxcrash=10;
count=0
while [ true ]; do
  /usr/local/bin/app
  echo "crashed" | mail -s "app crashed" noc@domain.com
  count=$(($count+1))
  if [ $count -gt $maxcrash ]; then
   echo "maxcrash" | mail -s "app max crash" noc@domain.com
   exit 1
  fi
done

Dit kan je op zich vrij eenvoudig in een cmd line tool gieten en overal
voor gebruiken.

Ziet er leuk uit, maar wat je eigenlijk ook wilt is dat die "count" na
verloop van tijd weer gereset wordt. Dus stel de applicatie crasht elke
week een keer, dan wil je niet dat hij na 10 weken niet meer wordt
geherstart. Wel als dat 10x achter elkaar is. Vanwege dat soort
kleinigheden, en het feit dat het goed getest is, was ik op zoek naar
een bestaande applicatie.

Overigens lijkt me bovenstaande bruikbaar, mits je de boel af en toe
herstart, waardoor de count weer op 0 komt.

Bedankt voor je hulp, mocht ik geen simpele kant en klare applicatie
vinden, dan ga ik je scriptje gebruiken en af en toe via cron herstarten.

Groet,
Paul.






Reply to: