以下の擬似コードの論理を構築しようとしています。
if 'main' job fails
sleep 60
re-trigger main job for 3 times.
after re-triggering for 3 times if it still fails ,
then kill the main job .
ksh 123.ksh ##main command
if [[ $?!=0 ]]
then
sleep 30
ksh 123.ksh
if [[ $?!=0 ]]
then
sleep 30
ksh 123.ksh
fi
fi
ここにさらに1ドルを追加できますか?確認して30回寝ると3~4回続けることができます。しかし、私はもっと一般的な方法を探しています。
3回再トリガーし、失敗したロジックを特定することはできません。
答え1
1つのオプション:
#! /bin/sh -
remaining_attempts=3; until main-job; do
if [ "$(( remaining_attempts -= 1 ))" -eq 0 ]; then
echo>&2 "Giving up"
exit 1
fi
sleep 60
done