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" [email protected]
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" [email protected]
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" [email protected]
count=$(($count+1))
if [ $count -gt $maxcrash ]; then
echo "maxcrash" | mail -s "app max crash" [email protected]
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.
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]