bladex2.6.0,在使用xxl-job问题请教

Blade 未结 1 515
wollior
wollior 剑圣 2022-03-17 14:47

一、该问题的重现步骤是什么?

1. bladex2.6.0,在使用xxl-job时,某个任务,对所有租户的数据进行操作,当其中一租户因为数据库原因导致连接失败,会影响其他租户的数据操作,该如何来避免或处理?如代码所示,当TestTenant方法中由于数据库连接失败时,会导致循环中其他的租户数据不能进入catch的continue;在代码层面,有没有比较好的处理方法?

image.png

image.png


二、你期待的结果是什么?实际看到的又是什么?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

1条回答
  • 2022-03-18 23:53

    做两层逻辑

    第一层逻辑:只判断数据库连接问题,把正常连接的租户数据放到successMap,把失败连接的租户数据放到errorMap,并把errorMap相关信息存到redis。

    第二层逻辑:把successMap内成功的租户数据处理完毕并且返回失败的租户列表。


    后端根据提示把租户数据源处理完毕后点击继续处理按钮,接口收到请求后从redis获取errorMap,把剩下未处理的租户处理完毕。

    0 讨论(0)
提交回复