fix: 优化取消任务慢问题
This commit is contained in:
parent
a6810efe79
commit
12b9190ccc
@ -393,7 +393,7 @@ public class FishDraftDataController {
|
|||||||
if ("1".equals(result.getCode())) {
|
if ("1".equals(result.getCode())) {
|
||||||
status = "FAILED";
|
status = "FAILED";
|
||||||
}
|
}
|
||||||
importTaskService.updateStatus(taskId, status, null);
|
importTaskService.updateStatus(taskId, status, result.getTempDir(), null);
|
||||||
importTaskService.updateProgress(taskId, result.getTotalCount(), result.getSuccessCount(), result.getFailedCount());
|
importTaskService.updateProgress(taskId, result.getTotalCount(), result.getSuccessCount(), result.getFailedCount());
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|||||||
@ -101,7 +101,7 @@ public class ImportTaskController {
|
|||||||
public ResponseResult updateStatus(@RequestParam String id,
|
public ResponseResult updateStatus(@RequestParam String id,
|
||||||
@RequestParam String status,
|
@RequestParam String status,
|
||||||
@RequestParam(required = false) String errorMsg) {
|
@RequestParam(required = false) String errorMsg) {
|
||||||
boolean result = importTaskService.updateStatus(id, status, errorMsg);
|
boolean result = importTaskService.updateStatus(id, status,null, errorMsg);
|
||||||
return result ? ResponseResult.success("更新成功") : ResponseResult.error("更新失败");
|
return result ? ResponseResult.success("更新成功") : ResponseResult.error("更新失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -41,7 +41,7 @@ public interface IImportTaskService extends IService<ImportTask> {
|
|||||||
/**
|
/**
|
||||||
* 更新任务状态
|
* 更新任务状态
|
||||||
*/
|
*/
|
||||||
boolean updateStatus(String id, String status, String errorMsg);
|
boolean updateStatus(String id, String status,String tempDir, String errorMsg);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新解析进度
|
* 更新解析进度
|
||||||
|
|||||||
@ -83,12 +83,13 @@ public class ImportTaskServiceImpl extends ServiceImpl<ImportTaskMapper, ImportT
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public boolean updateStatus(String id, String status, String errorMsg) {
|
public boolean updateStatus(String id, String status,String tempDir, String errorMsg) {
|
||||||
ImportTask importTask = this.getById(id);
|
ImportTask importTask = this.getById(id);
|
||||||
if (importTask == null) {
|
if (importTask == null) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
importTask.setStatus(status);
|
importTask.setStatus(status);
|
||||||
|
importTask.setTempDir(tempDir);
|
||||||
if (StringUtils.hasText(errorMsg)) {
|
if (StringUtils.hasText(errorMsg)) {
|
||||||
importTask.setErrorMsg(errorMsg);
|
importTask.setErrorMsg(errorMsg);
|
||||||
}
|
}
|
||||||
@ -184,6 +185,10 @@ public class ImportTaskServiceImpl extends ServiceImpl<ImportTaskMapper, ImportT
|
|||||||
if ("CONFIRMED".equals(currentStatus) || "FAILED".equals(currentStatus) || "CANCELLED".equals(currentStatus)) {
|
if ("CONFIRMED".equals(currentStatus) || "FAILED".equals(currentStatus) || "CANCELLED".equals(currentStatus)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
String temp = importTask.getTempDir();
|
||||||
|
if (StrUtil.isNotBlank( temp)) {
|
||||||
|
FileUtil.del(temp);
|
||||||
|
}else{
|
||||||
if (importTask.getResultJson() != null && !importTask.getResultJson().isEmpty()) {
|
if (importTask.getResultJson() != null && !importTask.getResultJson().isEmpty()) {
|
||||||
try {
|
try {
|
||||||
FishImportResult importResult = objectMapper.readValue(importTask.getResultJson(), FishImportResult.class);
|
FishImportResult importResult = objectMapper.readValue(importTask.getResultJson(), FishImportResult.class);
|
||||||
@ -195,6 +200,7 @@ public class ImportTaskServiceImpl extends ServiceImpl<ImportTaskMapper, ImportT
|
|||||||
// ignore parse error
|
// ignore parse error
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
importTask.setStatus("CANCELLED");
|
importTask.setStatus("CANCELLED");
|
||||||
importTask.setErrorMsg("用户取消: " + operatorId);
|
importTask.setErrorMsg("用户取消: " + operatorId);
|
||||||
importTask.setUpdatedAt(new Date());
|
importTask.setUpdatedAt(new Date());
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user