服务器定时任务的执行失败重新尝试5次

本文介绍了如何处理服务器定时任务在执行时遇到失败的情况。通过设置循环尝试5次来确保任务能被执行,如果第5次尝试仍失败,则发送报警信息。在每次尝试之间加入sleep命令以防止任务执行过于紧密,并在任务成功后立即终止循环。
摘要由CSDN通过智能技术生成

在某个定时爬取数据的任务中,因为执行任务时各种原因存在使得任务在第一次执行的时候失败,但是任务脚本并不存在任何问题,因此此时需要设置失败的时候继续重新执行任务。

 

为了解决这个问题,可以使用循环,我的解决逻辑如下:


#循环执行5次

for loop in 1 2 3 4 5

do

       echo“This is the $loop try!”

       pythonmyCrawler.py params  #执行我的定时任务

    if [ ${?}-ne 0 ]; #判断定时任务执行的状态吗是否失败

      then

         if [ $loop -eq 5 ] #在5次尝试都失败后发出报警信息

         then send_error "python myCrawler.py params error and theloop is $loop"

          sleep 10s #在下次执行之前先暂停10s

         exit 1

          fi

          continue #跳出当前循环执行下一次循环任务

      fi

     echo "成功" #成功之后在界面打印成功状态

     break  #成功之后跳出所有循环

  done #for循环结束标志

 

解决这个问题需要关注的是任务的要求:

1.    任务第一次执行会失败,但是再次执行可能会成功,那么需要尝试5次

2.    如果第5次尝试仍旧失败,需要发出报警信息

3.    任务执行失败的原因可能是任务之间执行的太紧凑,可以设置任务之间的执行间隔即sleep一段时间

4.    如果任务在某次成功之后,不再执行其它的循环,即循环要及时停止

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值