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

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

 

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


#循环执行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.    如果任务在某次成功之后,不再执行其它的循环,即循环要及时停止

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值