Commit 11c9fc91 by fudahua

Merge branch 'fix-2023-04' into 'master'

Fix 2023 04

See merge request !103
parents 5ace0ff6 71eb3f70
......@@ -5,9 +5,16 @@ import com.ctrip.framework.apollo.ConfigService;
import com.gic.commons.util.DingtalkMessageUtil;
import com.gic.commons.util.TraceIdUtil;
import com.gic.dubbo.entity.ProviderLocalTag;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class DingWarningUtil {
private static Logger logger = LoggerFactory.getLogger(DingWarningUtil.class);
private static final String dingdingurl="https://oapi.dingtalk.com/robot/send?access_token=1d6a0756fcfe5f215e3ed37d7e60960635d0009f71b476f3b402e7671fc2a8ca";
......@@ -16,11 +23,21 @@ public class DingWarningUtil {
public static void sendCountWarning(String msg) {
Config appConfig = ConfigService.getAppConfig();
String url = appConfig.getProperty("ding.url", dingdingurl);
String mobile = appConfig.getProperty("ding.mobile", null);
ProviderLocalTag localTag = ProviderLocalTag.tag.get();
String traceId = localTag.traceId;
try {
msg=msg+": "+traceId;
DingtalkMessageUtil.sendAlertMessage(msg,url);
List<String> mobiles=new ArrayList<>();
if (StringUtils.isNotBlank(mobile)) {
String[] split = mobile.split(",");
mobiles= Arrays.stream(split).collect(Collectors.toList());
}
if (CollectionUtils.isEmpty(mobiles)) {
DingtalkMessageUtil.sendAlertMessage(msg, url);
}else{
DingtalkMessageUtil.sendAlertMessage(msg, url,mobiles);
}
}catch (Exception e) {
logger.info("异常:{}",e);
}
......
......@@ -910,6 +910,7 @@ public class FlatQueryResultServiceImpl implements IFlatQueryResultService {
logger.info("不存在");
return;
}
boolean delHiveFile=true;
Integer queryDataType = task.getQueryDataType();
FlatQueryTaskCondition condition = JSON.parseObject(task.getDownloadCondition(), FlatQueryTaskCondition.class);
if (!task.getStatus().equals(DownloadTaskStatus.BUILDING)) {
......@@ -921,8 +922,6 @@ public class FlatQueryResultServiceImpl implements IFlatQueryResultService {
//下载文件
String dirName=HDFSUtil.getInstance().getHdfsName(task.getId());
String path=HDFSUtil.getInstance().getHdfsPath(task.getId());
HDFSUtil.getInstance().getHdfsName(task.getId());
try {
StopWatch stopWatch = StopWatch.create("down");
stopWatch.start();
......@@ -958,6 +957,7 @@ public class FlatQueryResultServiceImpl implements IFlatQueryResultService {
if (task.getAmount()!=total.intValue()) {
String msg="取数任务:"+task.getId()+"下载数量对不上: 数量: "+task.getAmount()+"->"+total;
DingWarningUtil.sendCountWarning(msg);
delHiveFile=false;
}
stopWatch.start();
//是否压缩
......@@ -984,8 +984,6 @@ public class FlatQueryResultServiceImpl implements IFlatQueryResultService {
task.setOverTime(new Date());
task.setFilePath(cloudFileUrl);
}catch (Exception e) {
logger.info("异常:{}",e);
task.setStatus(DownloadTaskStatus.ERROR);
......@@ -993,6 +991,9 @@ public class FlatQueryResultServiceImpl implements IFlatQueryResultService {
DownloadTaskServiceImpl.getInstance().updateDownloadTask(task);
//删除文件
delFileOrDirByTaskId(task.getId());
if (delHiveFile) {
HDFSUtil.getInstance().deleteFile(path);
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment