BUGFIX: 添加retry_failed状态,不处理failed状态
All checks were successful
git commit 控制 连卡佛 back-java prod 分支构建部署 / build_and_deploy (push) Has been skipped
All checks were successful
git commit 控制 连卡佛 back-java prod 分支构建部署 / build_and_deploy (push) Has been skipped
This commit is contained in:
@@ -10,7 +10,7 @@ public class OutfitCallbackDTO {
|
|||||||
|
|
||||||
private String outfit_id;
|
private String outfit_id;
|
||||||
|
|
||||||
// 取值范围:ok || failed || stop || retrying
|
// 取值范围:ok || failed || stop || retrying || retry_failed
|
||||||
private String status;
|
private String status;
|
||||||
|
|
||||||
private String path;
|
private String path;
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ import com.alibaba.fastjson2.JSON;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import io.netty.util.internal.StringUtil;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
@@ -130,18 +129,19 @@ public class StyleServiceImpl extends ServiceImpl<StyleMapper, Style> implements
|
|||||||
|
|
||||||
// 搭配完成后的回调通知处理
|
// 搭配完成后的回调通知处理
|
||||||
public void callback(OutfitCallbackDTO callbackDTO) {
|
public void callback(OutfitCallbackDTO callbackDTO) {
|
||||||
if (Objects.isNull(callbackDTO.getStatus())) {
|
if (Objects.isNull(callbackDTO.getStatus()) || callbackDTO.getStatus().equals("failed")) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 1. 判断path是否为空,是 -> 不做任何处理
|
// 1. 判断path是否为空,是 -> 不做任何处理
|
||||||
if (!"retrying".equals(callbackDTO.getStatus())
|
if (("ok".equals(callbackDTO.getStatus())
|
||||||
&& !"failed".equals(callbackDTO.getStatus())
|
|| "stop".equals(callbackDTO.getStatus()))
|
||||||
&& StringUtil.isNullOrEmpty(callbackDTO.getPath())) {
|
&& StringUtils.isBlank(callbackDTO.getPath())) {
|
||||||
|
log.error("状态为ok || stop时,path为空");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (StringUtil.isNullOrEmpty(callbackDTO.getOutfit_id())) {
|
if (StringUtils.isBlank(callbackDTO.getOutfit_id())) {
|
||||||
log.error("回调参数中,outfit_id为空");
|
log.error("回调参数中,outfit_id为空");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -159,26 +159,27 @@ public class StyleServiceImpl extends ServiceImpl<StyleMapper, Style> implements
|
|||||||
// 3.更新path, items, 状态
|
// 3.更新path, items, 状态
|
||||||
// 由于数据变化较频繁,考虑存到redis
|
// 由于数据变化较频繁,考虑存到redis
|
||||||
if (outfitResult instanceof OutfitResultVO) {
|
if (outfitResult instanceof OutfitResultVO) {
|
||||||
((OutfitResultVO) outfitResult).setPath(minioUtil.getPresignedUrl(callbackDTO.getPath(), CommonConstants.MINIO_PATH_TIMEOUT));
|
|
||||||
String status;
|
String status;
|
||||||
switch(callbackDTO.getStatus()) {
|
switch(callbackDTO.getStatus()) {
|
||||||
case "ok":
|
case "ok":
|
||||||
status = StatusEnum.RUNNING.name();
|
status = StatusEnum.RUNNING.name();
|
||||||
|
((OutfitResultVO) outfitResult).setPath(minioUtil.getPresignedUrl(callbackDTO.getPath(), CommonConstants.MINIO_PATH_TIMEOUT));
|
||||||
break;
|
break;
|
||||||
case "stop":
|
case "stop":
|
||||||
status = StatusEnum.SUCCEEDED.name();
|
status = StatusEnum.SUCCEEDED.name();
|
||||||
break;
|
((OutfitResultVO) outfitResult).setPath(minioUtil.getPresignedUrl(callbackDTO.getPath(), CommonConstants.MINIO_PATH_TIMEOUT));
|
||||||
case "failed":
|
|
||||||
status = StatusEnum.FAILED.name();
|
|
||||||
break;
|
break;
|
||||||
case "retrying":
|
case "retrying":
|
||||||
status = StatusEnum.PENDING.name();
|
status = StatusEnum.PENDING.name();
|
||||||
((OutfitResultVO) outfitResult).setCreateTimeStamp(System.currentTimeMillis());
|
((OutfitResultVO) outfitResult).setCreateTimeStamp(System.currentTimeMillis());
|
||||||
((OutfitResultVO) outfitResult).setPath(null);
|
((OutfitResultVO) outfitResult).setPath(null);
|
||||||
break;
|
break;
|
||||||
|
case /*"failed",*/ "retry_failed":
|
||||||
|
status = StatusEnum.FAILED.name();
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
log.error("outfit_id为{},回调状态未知{}", requestId, callbackDTO.getStatus());
|
log.error("outfit_id为{},回调状态未知{}", requestId, callbackDTO.getStatus());
|
||||||
status = "failed";
|
status = StatusEnum.FAILED.name();
|
||||||
}
|
}
|
||||||
|
|
||||||
((OutfitResultVO) outfitResult).setStatus(status);
|
((OutfitResultVO) outfitResult).setStatus(status);
|
||||||
@@ -186,7 +187,9 @@ public class StyleServiceImpl extends ServiceImpl<StyleMapper, Style> implements
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 生成结束或失败时更新数据库
|
// 生成结束或失败时更新数据库
|
||||||
if ("stop".equals(callbackDTO.getStatus()) || "failed".equals(callbackDTO.getStatus())) {
|
if ("stop".equals(callbackDTO.getStatus())
|
||||||
|
/*|| "failed".equals(callbackDTO.getStatus())*/
|
||||||
|
|| "retry_failed".equals(callbackDTO.getStatus())) {
|
||||||
// String requestId = callbackDTO.getOutfit_id();
|
// String requestId = callbackDTO.getOutfit_id();
|
||||||
|
|
||||||
LambdaQueryWrapper<Style> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<Style> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
@@ -261,7 +264,7 @@ public class StyleServiceImpl extends ServiceImpl<StyleMapper, Style> implements
|
|||||||
outfitResultVO.setId(style.getId());
|
outfitResultVO.setId(style.getId());
|
||||||
outfitResultVO.setRequestId(style.getPythonRequestId());
|
outfitResultVO.setRequestId(style.getPythonRequestId());
|
||||||
outfitResultVO.setStatus(StatusEnum.of(style.getGenerationStatus()).name());
|
outfitResultVO.setStatus(StatusEnum.of(style.getGenerationStatus()).name());
|
||||||
if (!StringUtil.isNullOrEmpty(style.getStyleImageUrl())) {
|
if (!StringUtils.isBlank(style.getStyleImageUrl())) {
|
||||||
outfitResultVO.setPath(minioUtil.getPresignedUrl(style.getStyleImageUrl(), CommonConstants.MINIO_PATH_TIMEOUT));
|
outfitResultVO.setPath(minioUtil.getPresignedUrl(style.getStyleImageUrl(), CommonConstants.MINIO_PATH_TIMEOUT));
|
||||||
}
|
}
|
||||||
resultVOS.add(outfitResultVO);
|
resultVOS.add(outfitResultVO);
|
||||||
|
|||||||
Reference in New Issue
Block a user