abc`1 2022-09-22 12:12 采纳率: 73.7%
浏览 19
已结题

后台任务是否要做无限重试

后台任务假如网络问题失败,要不要一直无限重试直到网络恢复?
如果不无限重试,那很多任务可能都失败了,任务太多的话全部手动重新提会很麻烦吧
但是无限重试好像不是一个好的方式?

  • 写回答

3条回答 默认 最新

  • 燕少༒江湖 2022-09-22 12:59
    关注

    1、加重试次数限制,比如重试10次之后,不再请求重试;
    2、加下一次重试时间限制,比如第一次失败了,更新下一次重试时间,比如是20秒之后,第二次失败之后,更新下一次重试时间为30秒,比如可以重试10次,最后两次的重试间隔时间可以设置的大一些,比如1小时、2小时(你可以参考rocketmq的重试机制)。
    这样设置的好处是将数据分散,不会在某一个时刻大批量重试;还有增加了系统可靠性,比如下游系统挂了,在半个小时之后重新启动,数据在下游服务正常之后,还可以重试;重试测试和重试间隔时间可以弄成配置,灵活更改

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 9月30日
  • 已采纳回答 9月22日
  • 创建了问题 9月22日