增加失败重试
This commit is contained in:
@@ -67,7 +67,8 @@ public class CorpusFailJob {
|
||||
|
||||
@Value("${rocketmq.producer.corpus.dcctopic}")
|
||||
private String dccMqTipic;
|
||||
|
||||
@Value("${rocketmq.consumer.intelligentCustomer.topic}")
|
||||
private String intelligentCustomerTipic;
|
||||
@Autowired
|
||||
private TmTelephoneCorpusMapper tmTelephoneCorpusMapper;
|
||||
|
||||
@@ -183,4 +184,61 @@ public class CorpusFailJob {
|
||||
aiAnalysisErrorsService.update(aiAnalysisErrors,
|
||||
new LambdaQueryWrapper<AiAnalysisErrors>().eq(AiAnalysisErrors::getAiAnalysisRequestId, aiAnalysisRequestId));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 智能客服-四合一
|
||||
*/
|
||||
@XxlJob("intelligentCustomer4in1FailTask")
|
||||
@PostMapping("intelligentCustomer4in1FailTask")
|
||||
public void intelligentCustomer4in1() {
|
||||
|
||||
log.info(" INTELLIGENT_CUSTOMER_4IN1 解析失败重试处理");
|
||||
Integer total = aiAnalysisErrorsService.queryCountAnalysisErrorList(BusinessTypeEnum.INTELLIGENT_CUSTOMER.getCode());
|
||||
log.info("INTELLIGENT_CUSTOMER_4IN1 语料解析失败重试处理数据量:{}", total);
|
||||
int totalPages = PageDto.getTotalPages(total, pageSize);
|
||||
log.info("INTELLIGENT_CUSTOMER_4IN1 语料解析失败重试处理数据量:{},总页数:{}", total, totalPages);
|
||||
for (int i = 1; i <= totalPages; i++) {
|
||||
int offset = (i - 1) * pageSize;
|
||||
|
||||
List<AiAnalysisErrors> aiAnalysisErrorsListlist = aiAnalysisErrorsService.queryAnalysisErrorList(BusinessTypeEnum.INTELLIGENT_CUSTOMER.getCode(),offset, pageSize);
|
||||
if(CollectionUtils.isNotEmpty(aiAnalysisErrorsListlist)) {
|
||||
log.info("语料解析失败重试处理 size:{}", aiAnalysisErrorsListlist.size());
|
||||
aiAnalysisErrorsListlist.stream().forEach(aiAnalysisErrors -> {
|
||||
try {
|
||||
LambdaQueryWrapper<AiAnalysisRequestLogs> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(AiAnalysisRequestLogs::getAiAnalysisRequestId, aiAnalysisErrors.getAiAnalysisRequestId());
|
||||
AiAnalysisRequestLogs oldAiAnalysisRequestLogs = aiAnalysisRequestLogsMapper.selectOne(queryWrapper);
|
||||
|
||||
if (null != oldAiAnalysisRequestLogs) {
|
||||
JSONObject businessRequest = JSONObject.parseObject(oldAiAnalysisRequestLogs.getBusinessRequest());
|
||||
businessRequest.put("aiAnalysisRequestId", oldAiAnalysisRequestLogs.getAiAnalysisRequestId());
|
||||
String message = businessRequest.toJSONString();
|
||||
rocketMqTemplate.asyncSend(intelligentCustomerTipic, MessageBuilder.withPayload(message).build(),
|
||||
new SendCallback() {
|
||||
@Override
|
||||
public void onSuccess(SendResult sendResult) {
|
||||
log.info(" INTELLIGENT_CUSTOMER_4IN1 失败补偿 发送MQ成功 消息体:{}", message);
|
||||
}
|
||||
@Override
|
||||
public void onException(Throwable e) {
|
||||
log.error("INTELLIGENT_CUSTOMER_4IN1 失败补偿 送MQ异常 消息体:{}, 异常:", message, e);
|
||||
}
|
||||
}, 10000);
|
||||
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.info("INTELLIGENT_CUSTOMER_4IN1 语料解析失败补偿异常:{}", e);
|
||||
aiAnalysisErrors.setAiAnalysisErrorHandlingStatus("0");
|
||||
aiAnalysisErrors.setRetryCount(aiAnalysisErrors.getRetryCount() + 1);
|
||||
updateAiAnalysisErrors(aiAnalysisErrors, aiAnalysisErrors.getAiAnalysisRequestId());
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user