Skip to content

服务端上报相关参数-retryStrategy

retryStrategy参数代表了我们需要指定的重试策略,这个重试策略目前支持三种,参数的默认值是本地重试。这是SnailJob中非常重要的一个概念,三种模式的释义大家可以参数表格

策略释义
ONLY_LOCAL
本地重试在内存中执行重试动作,如果重试结束后依然异常则抛出异常或是打印错误日志
ONLY_REMOTE
远程重试将异常上报至服务端,由服务端管理重试的动作或是根据服务端的配置进行重试的动作
LOCAL_REMOTE
先本地重试,再远程重试优先在本地基于内存中完成重试动作,如果重试之后依然返回异常结果则将结果上报至服务端

在这个地方我们通过图示的方式来讲解一下三种模式具体的区别是什么:

可以看到本地重试模式中仅仅是使用内存来完成重试,不涉及到和服务端的交互。 而远程重试模式则是在遭遇异常后构建异常快照,随后进行重试数据上报,上传重试数据到服务端,服务端进行数据持久化后再由调度器提取上报的异常快照,还原重试的上下文后回调客户端进行重试。 先本地重试,再远程重试模式顾名思义则是两者的结合,优先在本地进行重试,如果本地重试后依然返回异常结果,则进行数据上报,将未完成的异常数据上报至服务端,根据服务端指定的策略进行下一步的处理方案。