threshold值一般为CPU核心数*2,看自己需求 看业务调整重试次数已经睡眠时间
function f_retry_check_load { # 传入需要重新请求的命令,默认重试10次 间隔10秒 local max_attempts=10 local retries=0 local threshold=16.00 while ((${retries} < ${max_attempts}));do # 获取系统平均负载情况 load_avg=$(uptime | awk '{print $NF}') # 比较当前负载是否低于阈值 if (( $(echo "${load_avg} < ${threshold}" | bc -l) )); then echo "系统负载低于阈值,可以进行下一步操作" break else retries=$(expr ${retries} + 1) echo "系统负载较高,为${load_avg} 请稍后再试" sleep 10 continue fi done # 检查是否达到最大尝试次数 if [ ${retries} > ${max_attempts} ]; then echo "尝试次数已达到最大值,仍未降低负载" return 1 fi } f_retry_check_load
版权声明:如无特殊说明,文章均为本站原创,转载请注明出处
本文链接:http://kkxl95.cn/article/1678864659257/