Commit ce13150e by huangfusuper

补批及sql传参功能修改

parent 276177a5
...@@ -42,6 +42,8 @@ import static com.alibaba.fastjson.serializer.SerializerFeature.WriteClassName; ...@@ -42,6 +42,8 @@ import static com.alibaba.fastjson.serializer.SerializerFeature.WriteClassName;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public class ApiFlowServiceImpl implements ApiFlowService { public class ApiFlowServiceImpl implements ApiFlowService {
private final static SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); private final static SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
public static final String PRE = "${";
public static final String SUFFER = "}";
@Resource @Resource
private FlowMapper flowMapper; private FlowMapper flowMapper;
...@@ -1088,6 +1090,9 @@ public class ApiFlowServiceImpl implements ApiFlowService { ...@@ -1088,6 +1090,9 @@ public class ApiFlowServiceImpl implements ApiFlowService {
waitingTaskList.forEach(waitingTask -> { waitingTaskList.forEach(waitingTask -> {
if (StringUtils.isNotEmpty(waitingTask.getRunParam())){ if (StringUtils.isNotEmpty(waitingTask.getRunParam())){
String param = PlaceholderUtils.paramPlaceholder(waitingTask.getRunParam(), repairTime); String param = PlaceholderUtils.paramPlaceholder(waitingTask.getRunParam(), repairTime);
String runCommand = waitingTask.getRunCommand();
runCommand.replace(PRE +PlaceholderEnum.DATE_PLACEHOLDER.getName()+ SUFFER,repairTime);
waitingTask.setRunCommand(runCommand);
waitingTask.setRunParam(param); waitingTask.setRunParam(param);
} }
waitingTaskDateList.add(waitingTask); waitingTaskDateList.add(waitingTask);
......
...@@ -163,9 +163,12 @@ public class PlaceholderUtils { ...@@ -163,9 +163,12 @@ public class PlaceholderUtils {
String jsonString = JSON.toJSONString(sc); String jsonString = JSON.toJSONString(sc);
String s = PlaceholderUtils.paramPlaceholder(jsonString, "2020/3/12 15:13");*/ String s = PlaceholderUtils.paramPlaceholder(jsonString, "2020/3/12 15:13");
System.out.println(s);*/
//System.out.println(initCommand("python ${biz_file}","D:/2020project/byit-myth-job/demo-client/byit-demo-client/src/main/java/com/byit/job/Mains.java")); /*
System.out.println(initCommand("python ${biz_file}","D:/2020project/byit-myth-job/demo-client/byit-demo-client/src/main/java/com/byit/job/Mains.java"));
*/
System.out.println(commandReplace("python test.py", new HashMap<String, String>() {{ System.out.println(commandReplace("python test.py", new HashMap<String, String>() {{
put("name", "张三"); put("name", "张三");
put("age", "14"); put("age", "14");
...@@ -173,4 +176,7 @@ public class PlaceholderUtils { ...@@ -173,4 +176,7 @@ public class PlaceholderUtils {
}})); }}));
} }
} }
...@@ -3,6 +3,7 @@ package com.byit.dto.executor; ...@@ -3,6 +3,7 @@ package com.byit.dto.executor;
import lombok.*; import lombok.*;
import java.io.Serializable; import java.io.Serializable;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
/** /**
......
...@@ -7,6 +7,7 @@ import com.byit.dto.executor.ScriptDto; ...@@ -7,6 +7,7 @@ import com.byit.dto.executor.ScriptDto;
import com.byit.dto.executor.ScriptParamAndPlaceholderDto; import com.byit.dto.executor.ScriptParamAndPlaceholderDto;
import com.byit.enums.PlaceholderEnum; import com.byit.enums.PlaceholderEnum;
import com.byit.executor.api.ScriptExecutorService; import com.byit.executor.api.ScriptExecutorService;
import com.byit.job.utils.DateUtil;
import com.byit.process.MythJobProcess; import com.byit.process.MythJobProcess;
import com.byit.filesystem.FileSystem; import com.byit.filesystem.FileSystem;
import com.byit.enums.JobResultEnum; import com.byit.enums.JobResultEnum;
...@@ -113,17 +114,19 @@ public class ScriptExecutorServiceImpl implements ScriptExecutorService { ...@@ -113,17 +114,19 @@ public class ScriptExecutorServiceImpl implements ScriptExecutorService {
if(null != param){ if(null != param){
scriptParamAndPlaceholderDto = JSON.parseObject(param, ScriptParamAndPlaceholderDto.class); scriptParamAndPlaceholderDto = JSON.parseObject(param, ScriptParamAndPlaceholderDto.class);
} }
//普通脚本任务
if (null != command && command.contains(PlaceholderEnum.BIZ_SCRIPT_FILE.getName())){ if (null != command && command.contains(PlaceholderEnum.BIZ_SCRIPT_FILE.getName())){
String scriptPath = byteArrayToFile(remotePath,scriptParamAndPlaceholderDto); String scriptPath = byteArrayToFile(remotePath,scriptParamAndPlaceholderDto);
log.info("-------------脚本所在路径为:{}-------------",scriptPath); log.info("-------------脚本所在路径为:{}-------------",scriptPath);
//初始化命令信息 //初始化命令信息
command = PlaceholderUtils.initCommand(command,scriptPath); command = PlaceholderUtils.initCommand(command,scriptPath);
} }
//开始执行脚本 //将脚本的携带的参数 拼接在命令后方 python test.py -sex 男 -name 张三 -age 14
if(scriptParamAndPlaceholderDto != null){ if(scriptParamAndPlaceholderDto != null){
command = PlaceholderUtils.commandReplace(command,scriptParamAndPlaceholderDto.getParam()); command = PlaceholderUtils.commandReplace(command,scriptParamAndPlaceholderDto.getParam());
} }
assert command != null; assert command != null;
command.replace("${"+PlaceholderEnum.DATE_PLACEHOLDER.getName()+"}", DateUtil.dateLessDayStr(new Date(),"yyyyMMdd",1));
List<String> cmdList = Arrays.asList(command.split(" ")); List<String> cmdList = Arrays.asList(command.split(" "));
MythJobProcess mythJobProcess = new MythJobProcess(cmdList, null, null, scriptDto.getLogId(), stringRedisTemplate); MythJobProcess mythJobProcess = new MythJobProcess(cmdList, null, null, scriptDto.getLogId(), stringRedisTemplate);
//保存日志 //保存日志
...@@ -176,6 +179,10 @@ public class ScriptExecutorServiceImpl implements ScriptExecutorService { ...@@ -176,6 +179,10 @@ public class ScriptExecutorServiceImpl implements ScriptExecutorService {
log.info("--------------runPythonScript,脚本调用结束-----------"); log.info("--------------runPythonScript,脚本调用结束-----------");
} }
public static void main(String[] args) {
System.out.println(DateUtil.dateLessDayStr(new Date(), "yyyyMMdd", 1));
}
/** /**
* 合并两个字节数组 * 合并两个字节数组
......
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