提交 34b59a53 authored 作者: 吕本才's avatar 吕本才

feat(core): upgrade python version and adjust logging

上级 5ccb8ad6
...@@ -117,17 +117,6 @@ ...@@ -117,17 +117,6 @@
#### 参与贡献 #### 参与贡献
1. Datax-web、flink-streaming-platform-web、datax-cloud的贡献者 1. Datax-web、flink-streaming-platform-web、datax-cloud的贡献者
2. 心静若水 2. 心静若水
#### 联系方式
![img.png](img/lxfs.png)
#### 群聊
![ql.jpg](img/ql.jpg)
#### 捐赠
![img.png](img/img70.png)
![img_1.png](img/img71.png)
#### 特技 #### 特技
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
...@@ -136,3 +125,52 @@ ...@@ -136,3 +125,52 @@
4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
#### 常见问题
1、datax第一次使用
```logs
INSERT INTO %s (`xmdadocno`,`xmdadocdt`,`xmdc028`,`inayl003`,`xmda005`,`gzcbl004`,`xmdastus`,`gzcbl004_2`,`l_xmdkstust`,`xmda002`,`ooag011`,`xmda003`,`ooefl003`,`ooeg001`,`ooeg001zh`,`xmda004`,`pmaal004`,`xmda021`,`pmaal004_2`,`xmda022`,`pmaal004_3`,`xmda015`,`xmda016`,`xmda023`,`oocql004`,`xmda024`,`oocql004_2`,`xmda033`,`xmddseq`,`xmdcud001`,`l_xmdcud001_desc`,`xmddseq1`,`xmddseq2`,`xmdd003`,`gzcbl004_3`,`imaa009`,`rtaxl003`,`imaf111`,`oocql004_3`,`xmdd001`,`imaal003`,`imaal004`,`xmdd002`,`inaml004`,`xmdc036`,`pjbal003`,`xmdd011`,`xmdd006`,`xmdd004`,`imaaud011`,`xmdd025`,`xmdd024`,`xmdd027`,`xmdd026`,`xmdd018`,`xmdd028`,`xmdd029`,`xmdcud011`,`xmdcud012`,`xmdd014`,`l_xmdkcnfdt`,`l_xmdkpstdt`,`l_num1`,`xmdd016`,`xmdd034`,`xmdd015`,`l_unship_count`,`l_num2`,`l_num3`,`l_plan_num`,`l_plan_tax_money`,`xmdc045`,`xmdasite`,`xmdaent`,`xmda034`,`pmaal004_5`,`xmda036`,`pmaal004_4`,`xmdc053`,`oocql004_4`,`imaa127`,`oocql004_5`,`xmdc050`,`xmdk054`,`xmdaud004`,`l_oofb012`,`l_oofb012_desc`,`l_oofb014`,`l_oofb014_desc`,`l_oofb015`,`l_oofb015_desc`,`l_oofb016`,`l_oofb016_desc`,`xmda025`,`l_oofb017`,`xmdaud002`,`xmdaud003`,`xmda071`,`imaa126`,`imaa133`,`l_imaa133_desc`,`imaa134`,`l_imaa134_desc`,`imaa006`,`l_num4`,`xmdc027`,`pmao009`,`pmao010`,`xmdaud001`,`xmda031`,`l_xmdacrtdt`,`l_xmdacrtdt_month`,`l_xmdkdocno_list`,`l_xmdk022_list`,`l_xmdk022_list_desc`,`l_zhuangtai`,`pmaa241`,`pmaa241_desc`,`pmaa242`,`pmaa242_desc`,`pmaa243`,`pmaa243_desc`,`pmaa244`,`pmaa244_desc`,`imaa137`,`l_imaa137_desc`,`imaa138`,`l_imaa138_desc`,`imaa139`,`l_imaa139_desc`,`collection_time`) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ON DUPLICATE KEY UPDATE `xmdadocno`=VALUES(`xmdadocno`),`xmdadocdt`=VALUES(`xmdadocdt`),`xmdc028`=VALUES(`xmdc028`),`inayl003`=VALUES(`inayl003`),`xmda005`=VALUES(`xmda005`),`gzcbl004`=VALUES(`gzcbl004`),`xmdastus`=VALUES(`xmdastus`),`gzcbl004_2`=VALUES(`gzcbl004_2`),`l_xmdkstust`=VALUES(`l_xmdkstust`),`xmda002`=VALUES(`xmda002`),`ooag011`=VALUES(`ooag011`),`xmda003`=VALUES(`xmda003`),`ooefl003`=VALUES(`ooefl003`),`ooeg001`=VALUES(`ooeg001`),`ooeg001zh`=VALUES(`ooeg001zh`),`xmda004`=VALUES(`xmda004`),`pmaal004`=VALUES(`pmaal004`),`xmda021`=VALUES(`xmda021`),`pmaal004_2`=VALUES(`pmaal004_2`),`xmda022`=VALUES(`xmda022`),`pmaal004_3`=VALUES(`pmaal004_3`),`xmda015`=VALUES(`xmda015`),`xmda016`=VALUES(`xmda016`),`xmda023`=VALUES(`xmda023`),`oocql004`=VALUES(`oocql004`),`xmda024`=VALUES(`xmda024`),`oocql004_2`=VALUES(`oocql004_2`),`xmda033`=VALUES(`xmda033`),`xmddseq`=VALUES(`xmddseq`),`xmdcud001`=VALUES(`xmdcud001`),`l_xmdcud001_desc`=VALUES(`l_xmdcud001_desc`),`xmddseq1`=VALUES(`xmddseq1`),`xmddseq2`=VALUES(`xmddseq2`),`xmdd003`=VALUES(`xmdd003`),`gzcbl004_3`=VALUES(`gzcbl004_3`),`imaa009`=VALUES(`imaa009`),`rtaxl003`=VALUES(`rtaxl003`),`imaf111`=VALUES(`imaf111`),`oocql004_3`=VALUES(`oocql004_3`),`xmdd001`=VALUES(`xmdd001`),`imaal003`=VALUES(`imaal003`),`imaal004`=VALUES(`imaal004`),`xmdd002`=VALUES(`xmdd002`),`inaml004`=VALUES(`inaml004`),`xmdc036`=VALUES(`xmdc036`),`pjbal003`=VALUES(`pjbal003`),`xmdd011`=VALUES(`xmdd011`),`xmdd006`=VALUES(`xmdd006`),`xmdd004`=VALUES(`xmdd004`),`imaaud011`=VALUES(`imaaud011`),`xmdd025`=VALUES(`xmdd025`),`xmdd024`=VALUES(`xmdd024`),`xmdd027`=VALUES(`xmdd027`),`xmdd026`=VALUES(`xmdd026`),`xmdd018`=VALUES(`xmdd018`),`xmdd028`=VALUES(`xmdd028`),`xmdd029`=VALUES(`xmdd029`),`xmdcud011`=VALUES(`xmdcud011`),`xmdcud012`=VALUES(`xmdcud012`),`xmdd014`=VALUES(`xmdd014`),`l_xmdkcnfdt`=VALUES(`l_xmdkcnfdt`),`l_xmdkpstdt`=VALUES(`l_xmdkpstdt`),`l_num1`=VALUES(`l_num1`),`xmdd016`=VALUES(`xmdd016`),`xmdd034`=VALUES(`xmdd034`),`xmdd015`=VALUES(`xmdd015`),`l_unship_count`=VALUES(`l_unship_count`),`l_num2`=VALUES(`l_num2`),`l_num3`=VALUES(`l_num3`),`l_plan_num`=VALUES(`l_plan_num`),`l_plan_tax_money`=VALUES(`l_plan_tax_money`),`xmdc045`=VALUES(`xmdc045`),`xmdasite`=VALUES(`xmdasite`),`xmdaent`=VALUES(`xmdaent`),`xmda034`=VALUES(`xmda034`),`pmaal004_5`=VALUES(`pmaal004_5`),`xmda036`=VALUES(`xmda036`),`pmaal004_4`=VALUES(`pmaal004_4`),`xmdc053`=VALUES(`xmdc053`),`oocql004_4`=VALUES(`oocql004_4`),`imaa127`=VALUES(`imaa127`),`oocql004_5`=VALUES(`oocql004_5`),`xmdc050`=VALUES(`xmdc050`),`xmdk054`=VALUES(`xmdk054`),`xmdaud004`=VALUES(`xmdaud004`),`l_oofb012`=VALUES(`l_oofb012`),`l_oofb012_desc`=VALUES(`l_oofb012_desc`),`l_oofb014`=VALUES(`l_oofb014`),`l_oofb014_desc`=VALUES(`l_oofb014_desc`),`l_oofb015`=VALUES(`l_oofb015`),`l_oofb015_desc`=VALUES(`l_oofb015_desc`),`l_oofb016`=VALUES(`l_oofb016`),`l_oofb016_desc`=VALUES(`l_oofb016_desc`),`xmda025`=VALUES(`xmda025`),`l_oofb017`=VALUES(`l_oofb017`),`xmdaud002`=VALUES(`xmdaud002`),`xmdaud003`=VALUES(`xmdaud003`),`xmda071`=VALUES(`xmda071`),`imaa126`=VALUES(`imaa126`),`imaa133`=VALUES(`imaa133`),`l_imaa133_desc`=VALUES(`l_imaa133_desc`),`imaa134`=VALUES(`imaa134`),`l_imaa134_desc`=VALUES(`l_imaa134_desc`),`imaa006`=VALUES(`imaa006`),`l_num4`=VALUES(`l_num4`),`xmdc027`=VALUES(`xmdc027`),`pmao009`=VALUES(`pmao009`),`pmao010`=VALUES(`pmao010`),`xmdaud001`=VALUES(`xmdaud001`),`xmda031`=VALUES(`xmda031`),`l_xmdacrtdt`=VALUES(`l_xmdacrtdt`),`l_xmdacrtdt_month`=VALUES(`l_xmdacrtdt_month`),`l_xmdkdocno_list`=VALUES(`l_xmdkdocno_list`),`l_xmdk022_list`=VALUES(`l_xmdk022_list`),`l_xmdk022_list_desc`=VALUES(`l_xmdk022_list_desc`),`l_zhuangtai`=VALUES(`l_zhuangtai`),`pmaa241`=VALUES(`pmaa241`),`pmaa241_desc`=VALUES(`pmaa241_desc`),`pmaa242`=VALUES(`pmaa242`),`pmaa242_desc`=VALUES(`pmaa242_desc`),`pmaa243`=VALUES(`pmaa243`),`pmaa243_desc`=VALUES(`pmaa243_desc`),`pmaa244`=VALUES(`pmaa244`),`pmaa244_desc`=VALUES(`pmaa244_desc`),`imaa137`=VALUES(`imaa137`),`l_imaa137_desc`=VALUES(`l_imaa137_desc`),`imaa138`=VALUES(`imaa138`),`l_imaa138_desc`=VALUES(`l_imaa138_desc`),`imaa139`=VALUES(`imaa139`),`l_imaa139_desc`=VALUES(`l_imaa139_desc`),`collection_time`=VALUES(`collection_time`)
2025-05-12 15:41:36 [AnalysisStatistics.analysisStatisticsLog-53] ], which jdbcUrl like:[jdbc:mysql://192.168.100.40:3306/market_bi?autoReconnect=true&useSSL=false&characterEncoding=utf8&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&rewriteBatchedStatements=true&tinyInt1isBit=false]
2025-05-12 15:41:36 [AnalysisStatistics.analysisStatisticsLog-53] 2025-05-12 15:41:36.650 [job-0] INFO JobContainer - jobContainer starts to do prepare ...
2025-05-12 15:41:36 [AnalysisStatistics.analysisStatisticsLog-53] 2025-05-12 15:41:36.650 [job-0] INFO JobContainer - DataX Reader.Job [oraclereader] do prepare work .
2025-05-12 15:41:36 [AnalysisStatistics.analysisStatisticsLog-53] 2025-05-12 15:41:36.650 [job-0] INFO JobContainer - DataX Writer.Job [mysqlwriter] do prepare work .
2025-05-12 15:41:36 [AnalysisStatistics.analysisStatisticsLog-53] 2025-05-12 15:41:36.651 [job-0] INFO JobContainer - jobContainer starts to do split ...
2025-05-12 15:41:36 [AnalysisStatistics.analysisStatisticsLog-53] 2025-05-12 15:41:36.654 [job-0] ERROR JobContainer - Exception when job run
2025-05-12 15:41:36 [AnalysisStatistics.analysisStatisticsLog-53] com.alibaba.datax.common.exception.DataXException: Code:[Framework-03], Description:[DataX引擎配置错误,该问题通常是由于DataX安装错误引起,请联系您的运维解决 .]. - 在有总bps限速条件下,单个channel的bps值不能为空,也不能为非正数
2025-05-12 15:41:36 [AnalysisStatistics.analysisStatisticsLog-53] at com.alibaba.datax.common.exception.DataXException.asDataXException(DataXException.java:30) ~[datax-common-0.0.1-SNAPSHOT.jar:na]
2025-05-12 15:41:36 [AnalysisStatistics.analysisStatisticsLog-53] at com.alibaba.datax.core.job.JobContainer.adjustChannelNumber(JobContainer.java:430) ~[datax-core-0.0.1-SNAPSHOT.jar:na]
2025-05-12 15:41:36 [AnalysisStatistics.analysisStatisticsLog-53] at com.alibaba.datax.core.job.JobContainer.split(JobContainer.java:387) ~[datax-core-0.0.1-SNAPSHOT.jar:na]
2025-05-12 15:41:36 [AnalysisStatistics.analysisStatisticsLog-53] at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:117) ~[datax-core-0.0.1-SNAPSHOT.jar:na]
2025-05-12 15:41:36 [AnalysisStatistics.analysisStatisticsLog-53] at com.alibaba.datax.core.Engine.start(Engine.java:86) ~[datax-core-0.0.1-SNAPSHOT.jar:na]
2025-05-12 15:41:36 [AnalysisStatistics.analysisStatisticsLog-53] at com.alibaba.datax.core.Engine.entry(Engine.java:168) ~[datax-core-0.0.1-SNAPSHOT.jar:na]
2025-05-12 15:41:36 [AnalysisStatistics.analysisStatisticsLog-53] at com.alibaba.datax.core.Engine.main(Engine.java:201) ~[datax-core-0.0.1-SNAPSHOT.jar:na]
2025-05-12 15:41:36 [AnalysisStatistics.analysisStatisticsLog-53] 2025-05-12 15:41:36.657 [job-0] INFO StandAloneJobContainerCommunicator - Total 0 records, 0 bytes | Speed 0B/s, 0 records/s | Error 0 records, 0 bytes | All Task WaitWriterTime 0.000s | All Task WaitReaderTime 0.000s | Percentage 0.00%
2025-05-12 15:41:36 [AnalysisStatistics.analysisStatisticsLog-53] 2025-05-12 15:41:36.658 [job-0] ERROR Engine -
2025-05-12 15:41:36 [AnalysisStatistics.analysisStatisticsLog-53]
2025-05-12 15:41:36 [AnalysisStatistics.analysisStatisticsLog-53] 经DataX智能分析,该任务最可能的错误原因是:
2025-05-12 15:41:36 [AnalysisStatistics.analysisStatisticsLog-53] com.alibaba.datax.common.exception.DataXException: Code:[Framework-03], Description:[DataX引擎配置错误,该问题通常是由于DataX安装错误引起,请联系您的运维解决 .]. - 在有总bps限速条件下,单个channel的bps值不能为空,也不能为非正数
2025-05-12 15:41:36 [AnalysisStatistics.analysisStatisticsLog-53] at com.alibaba.datax.common.exception.DataXException.asDataXException(DataXException.java:30)
2025-05-12 15:41:36 [AnalysisStatistics.analysisStatisticsLog-53] at com.alibaba.datax.core.job.JobContainer.adjustChannelNumber(JobContainer.java:430)
2025-05-12 15:41:36 [AnalysisStatistics.analysisStatisticsLog-53] at com.alibaba.datax.core.job.JobContainer.split(JobContainer.java:387)
2025-05-12 15:41:36 [AnalysisStatistics.analysisStatisticsLog-53] at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:117)
2025-05-12 15:41:36 [AnalysisStatistics.analysisStatisticsLog-53] at com.alibaba.datax.core.Engine.start(Engine.java:86)
2025-05-12 15:41:36 [AnalysisStatistics.analysisStatisticsLog-53] at com.alibaba.datax.core.Engine.entry(Engine.java:168)
2025-05-12 15:41:36 [AnalysisStatistics.analysisStatisticsLog-53] at com.alibaba.datax.core.Engine.main(Engine.java:201)
2025-05-12 15:41:36 [AnalysisStatistics.analysisStatisticsLog-53]
2025-05-12 15:41:36 [JobThread.run-165] <br>----------- web job execute end(finish) -----------<br>----------- ReturnT:ReturnT [code=500, msg=command exit value(1) is failed, content=null]
2025-05-12 15:41:36 [TriggerCallbackThread.callbackLog-186] <br>----------- web job callback finish.
```
报错修改datax/conf/core.json
```
"speed": {
"byte": 2000000,
"record": -1
},
```
2、python 版本问题
使用python3版本,但是环境中是python2的版本是否可以更换下docker中的环境呢??
...@@ -16,7 +16,8 @@ ...@@ -16,7 +16,8 @@
<ruoshui.version>3.8.2</ruoshui.version> <ruoshui.version>3.8.2</ruoshui.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version> <!--<java.version>1.8</java.version>-->
<java.version>11</java.version>
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version> <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
<druid.version>1.2.8</druid.version> <druid.version>1.2.8</druid.version>
<bitwalker.version>1.21</bitwalker.version> <bitwalker.version>1.21</bitwalker.version>
...@@ -70,8 +71,8 @@ ...@@ -70,8 +71,8 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.test.skip>false</maven.test.skip> <maven.test.skip>false</maven.test.skip>
<downloadSources>true</downloadSources> <downloadSources>true</downloadSources>
<java_source_version>1.8</java_source_version> <!-- <java_source_version>1.8</java_source_version>-->
<java_target_version>1.8</java_target_version> <!-- <java_target_version>1.8</java_target_version>-->
<file_encoding>UTF-8</file_encoding> <file_encoding>UTF-8</file_encoding>
<flink_streaming_version>1.4.0.RELEASE</flink_streaming_version> <flink_streaming_version>1.4.0.RELEASE</flink_streaming_version>
<flink.version>1.16.2</flink.version> <flink.version>1.16.2</flink.version>
......
...@@ -10,9 +10,9 @@ ...@@ -10,9 +10,9 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging> <packaging>jar</packaging>
<artifactId>ruoshui-admin</artifactId> <artifactId>ruoshui-admin</artifactId>
<properties> <!-- <properties>-->
<java.version>1.8</java.version> <!-- <java.version>1.8</java.version>-->
</properties> <!-- </properties>-->
<description> <description>
web服务入口 web服务入口
</description> </description>
......
...@@ -10,7 +10,8 @@ public enum GlueTypeEnum { ...@@ -10,7 +10,8 @@ public enum GlueTypeEnum {
BEAN("BEAN", false, null, null), BEAN("BEAN", false, null, null),
GLUE_GROOVY("GLUE(Java)", false, null, null), GLUE_GROOVY("GLUE(Java)", false, null, null),
GLUE_SHELL("GLUE(Shell)", true, "bash", ".sh"), GLUE_SHELL("GLUE(Shell)", true, "bash", ".sh"),
GLUE_PYTHON("GLUE(Python)", true, "python", ".py"), // GLUE_PYTHON("GLUE(Python)", true, "python", ".py"),
GLUE_PYTHON("GLUE(Python)", true, "python3", ".py"),
GLUE_PHP("GLUE(PHP)", true, "php", ".php"), GLUE_PHP("GLUE(PHP)", true, "php", ".php"),
GLUE_NODEJS("GLUE(Nodejs)", true, "node", ".js"), GLUE_NODEJS("GLUE(Nodejs)", true, "node", ".js"),
GLUE_POWERSHELL("GLUE(PowerShell)", true, "powershell", ".ps1"); GLUE_POWERSHELL("GLUE(PowerShell)", true, "powershell", ".ps1");
......
...@@ -5,6 +5,7 @@ import com.ruoshui.core.enums.biz.model.HandleProcessCallbackParam; ...@@ -5,6 +5,7 @@ import com.ruoshui.core.enums.biz.model.HandleProcessCallbackParam;
import com.ruoshui.core.enums.log.JobLogger; import com.ruoshui.core.enums.log.JobLogger;
import com.ruoshui.core.enums.thread.ProcessCallbackThread; import com.ruoshui.core.enums.thread.ProcessCallbackThread;
import com.ruoshui.core.util.ProcessUtil; import com.ruoshui.core.util.ProcessUtil;
import lombok.extern.slf4j.Slf4j;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
...@@ -21,6 +22,7 @@ import java.util.List; ...@@ -21,6 +22,7 @@ import java.util.List;
* <p> * <p>
* Created by xuxueli on 17/2/25. * Created by xuxueli on 17/2/25.
*/ */
@Slf4j
public class ScriptUtil { public class ScriptUtil {
/** /**
...@@ -71,13 +73,13 @@ public class ScriptUtil { ...@@ -71,13 +73,13 @@ public class ScriptUtil {
if (params != null && params.length > 0) { if (params != null && params.length > 0) {
for (String param : params) { for (String param : params) {
cmdarray.add(param); cmdarray.add(param);
log.info("1param:" + param);
} }
} }
String[] cmdarrayFinal = cmdarray.toArray(new String[cmdarray.size()]); String[] cmdarrayFinal = cmdarray.toArray(new String[cmdarray.size()]);
// process-exec // process-exec
final Process process = Runtime.getRuntime().exec(cmdarrayFinal); final Process process = Runtime.getRuntime().exec(cmdarrayFinal);
String prcsId = ProcessUtil.getProcessId(process); String prcsId = ProcessUtil.getProcessId(process);
JobLogger.log("------------------Process id: " + prcsId); JobLogger.log("------------------Process id: " + prcsId);
//update task process id //update task process id
......
...@@ -12,7 +12,8 @@ public enum GlueTypeEnum { ...@@ -12,7 +12,8 @@ public enum GlueTypeEnum {
BEAN("BEAN", false, null, null), BEAN("BEAN", false, null, null),
GLUE_GROOVY("GLUE(Java)", false, null, null), GLUE_GROOVY("GLUE(Java)", false, null, null),
GLUE_SHELL("GLUE(Shell)", true, "bash", ".sh"), GLUE_SHELL("GLUE(Shell)", true, "bash", ".sh"),
GLUE_PYTHON("GLUE(Python)", true, "python", ".py"), // GLUE_PYTHON("GLUE(Python)", true, "python", ".py"),
GLUE_PYTHON("GLUE(Python)", true, "python3", ".py"),
GLUE_PHP("GLUE(PHP)", true, "php", ".php"), GLUE_PHP("GLUE(PHP)", true, "php", ".php"),
GLUE_NODEJS("GLUE(Nodejs)", true, "node", ".js"), GLUE_NODEJS("GLUE(Nodejs)", true, "node", ".js"),
GLUE_POWERSHELL("GLUE(PowerShell)", true, "powershell", ".ps1"); GLUE_POWERSHELL("GLUE(PowerShell)", true, "powershell", ".ps1");
......
...@@ -45,7 +45,9 @@ public class ProcessUtil { ...@@ -45,7 +45,9 @@ public class ProcessUtil {
// field.setAccessible(true); // field.setAccessible(true);
// pid = (Integer) field.get(process); // pid = (Integer) field.get(process);
// 服务器上的jdk版本大于8 ,不兼容当前的模式 // 服务器上的jdk版本大于8 ,不兼容当前的模式
if (process.getClass().getName().equals("java.lang.UNIXProcess")) { String processName = process.getClass().getName();
logger.info("processName: {}", processName);
if (processName.equals("java.lang.UNIXProcess")) {
try { try {
// 仅Java 8兼容:保留原逻辑(可选) // 仅Java 8兼容:保留原逻辑(可选)
Field pidField = process.getClass().getDeclaredField("pid"); Field pidField = process.getClass().getDeclaredField("pid");
......
...@@ -4,6 +4,7 @@ package com.ruoshui.core.util; ...@@ -4,6 +4,7 @@ package com.ruoshui.core.util;
import com.ruoshui.core.biz.model.HandleProcessCallbackParam; import com.ruoshui.core.biz.model.HandleProcessCallbackParam;
import com.ruoshui.core.log.JobLogger; import com.ruoshui.core.log.JobLogger;
import com.ruoshui.core.thread.ProcessCallbackThread; import com.ruoshui.core.thread.ProcessCallbackThread;
import lombok.extern.slf4j.Slf4j;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
...@@ -20,6 +21,7 @@ import java.util.List; ...@@ -20,6 +21,7 @@ import java.util.List;
* <p> * <p>
* Created by xuxueli on 17/2/25. * Created by xuxueli on 17/2/25.
*/ */
@Slf4j
public class ScriptUtil { public class ScriptUtil {
/** /**
...@@ -70,10 +72,12 @@ public class ScriptUtil { ...@@ -70,10 +72,12 @@ public class ScriptUtil {
if (params != null && params.length > 0) { if (params != null && params.length > 0) {
for (String param : params) { for (String param : params) {
cmdarray.add(param); cmdarray.add(param);
log.info("2param:" + param);
} }
} }
String[] cmdarrayFinal = cmdarray.toArray(new String[cmdarray.size()]); String[] cmdarrayFinal = cmdarray.toArray(new String[cmdarray.size()]);
// process-exec // process-exec
final Process process = Runtime.getRuntime().exec(cmdarrayFinal); final Process process = Runtime.getRuntime().exec(cmdarrayFinal);
......
...@@ -50,6 +50,8 @@ public class ExecutorJobHandler extends IJobHandler { ...@@ -50,6 +50,8 @@ public class ExecutorJobHandler extends IJobHandler {
try { try {
String[] cmdarrayFinal = BuildCommand.buildDataXExecutorCmd(trigger, tmpFilePath,dataXPyPath); String[] cmdarrayFinal = BuildCommand.buildDataXExecutorCmd(trigger, tmpFilePath,dataXPyPath);
JobLogger.log("------------------DataX command: " + StringUtils.join(cmdarrayFinal, " "));
final Process process = Runtime.getRuntime().exec(cmdarrayFinal); final Process process = Runtime.getRuntime().exec(cmdarrayFinal);
String prcsId = ProcessUtil.getProcessId(process); String prcsId = ProcessUtil.getProcessId(process);
JobLogger.log("------------------DataX process id: " + prcsId); JobLogger.log("------------------DataX process id: " + prcsId);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论