重試機制在實際編程場景中應用比較場景,比如你的任務在請求一個正在寫入數據但不確定什么時間會完成的文件,可能就需要通過嘗試機制間隔一段時間重新執行任務。
以下 shell 腳本是實現重試機制的模板:
#!/bin/sh count=0 #記錄重試次數 flag=0 # 重試標識,flag=0 表示任務正常,flag=1 表示需要進行重試 while [ 0 -eq 0 ] do echo ".................. job begin ..................." # ...... 添加要執行的內容,flag 的值在這個邏輯中更改為1,或者不變...... # 檢查和重試過程 if [ flag -eq 0 ]; then #執行成功,不重試 echo "--------------- job complete ---------------" break; else #執行失敗,重試 count=$[${count}+1] if [ ${count} -eq 6 ]; then #指定重試次數,重試超過5次即失敗 echo 'timeout,exit.' break fi echo "...............retry in 2 seconds .........." sleep 2 fi done