Commit ce13150e by huangfusuper

补批及sql传参功能修改

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