Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
byit-myth-job
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
liyuan
byit-myth-job
Commits
ce13150e
Commit
ce13150e
authored
May 09, 2020
by
huangfusuper
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
补批及sql传参功能修改
parent
276177a5
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
22 additions
and
3 deletions
+22
-3
ApiFlowServiceImpl.java
...c/main/java/com/byit/service/impl/ApiFlowServiceImpl.java
+5
-0
PlaceholderUtils.java
...on/src/main/java/com/byit/job/utils/PlaceholderUtils.java
+8
-2
ScriptParamAndPlaceholderDto.java
...a/com/byit/dto/executor/ScriptParamAndPlaceholderDto.java
+1
-0
ScriptExecutorServiceImpl.java
...main/java/com/byit/service/ScriptExecutorServiceImpl.java
+8
-1
No files found.
byit-myth-admin/src/main/java/com/byit/service/impl/ApiFlowServiceImpl.java
View file @
ce13150e
...
@@ -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
);
...
...
byit-myth-core/myth-core-common/src/main/java/com/byit/job/utils/PlaceholderUtils.java
View file @
ce13150e
...
@@ -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 {
}}));
}}));
}
}
}
}
byit-myth-core/myth-dto-core/src/main/java/com/byit/dto/executor/ScriptParamAndPlaceholderDto.java
View file @
ce13150e
...
@@ -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
;
/**
/**
...
...
byit-myth-executor/myth-executor-server/src/main/java/com/byit/service/ScriptExecutorServiceImpl.java
View file @
ce13150e
...
@@ -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
));
}
/**
/**
* 合并两个字节数组
* 合并两个字节数组
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment