Browse Source

Python task specifies path execution update

pull/2/head
qiaozhanwei 6 years ago
parent
commit
a7e6f30d55
  1. 7
      escheduler-common/src/main/java/cn/escheduler/common/Constants.java
  2. 7
      escheduler-common/src/main/java/cn/escheduler/common/utils/CommonUtils.java
  3. 1
      escheduler-common/src/main/resources/common/common.properties
  4. 7
      escheduler-server/src/main/java/cn/escheduler/server/worker/task/PythonCommandExecutor.java
  5. 2
      escheduler-server/src/main/java/cn/escheduler/server/worker/task/python/PythonTask.java

7
escheduler-common/src/main/java/cn/escheduler/common/Constants.java

@ -119,7 +119,12 @@ public final class Constants {
/**
* escheduler.env.py
*/
public static final String ESCHEDULER_ENV_PY = "escheduler.env.py";
public static final String ESCHEDULER_ENV_SH = ".escheduler_env.sh";
/**
* python home
*/
public static final String PYTHON_HOME="PYTHON_HOME";
/**
* resource.view.suffixs

7
escheduler-common/src/main/java/cn/escheduler/common/utils/CommonUtils.java

@ -46,13 +46,6 @@ public class CommonUtils {
return envPath;
}
/**
* @return get the path of Python system environment variables
*/
public static String getPythonSystemEnvPath() {
return getString(ESCHEDULER_ENV_PY);
}
/**
* @return get queue implementation name
*/

1
escheduler-common/src/main/resources/common/common.properties

@ -18,7 +18,6 @@ hdfs.startup.state=true
# system env path. self configuration, please make sure the directory and file exists and have read write execute permissions
escheduler.env.path=/opt/.escheduler_env.sh
escheduler.env.py=/opt/escheduler_env.py
#resource.view.suffixs
resource.view.suffixs=txt,log,sh,conf,cfg,py,java,sql,hql,xml

7
escheduler-server/src/main/java/cn/escheduler/server/worker/task/PythonCommandExecutor.java

@ -16,6 +16,7 @@
*/
package cn.escheduler.server.worker.task;
import cn.escheduler.common.Constants;
import cn.escheduler.common.utils.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
@ -84,7 +85,9 @@ public class PythonCommandExecutor extends AbstractCommandExecutor {
@Override
protected String commandType() {
String envPath = System.getProperty("user.dir")+"/conf/env/.escheduler_env.sh";
String envPath = System.getProperty("user.dir") + Constants.SINGLE_SLASH + "conf "+
Constants.SINGLE_SLASH +"env" + Constants.SINGLE_SLASH + Constants.ESCHEDULER_ENV_SH;
String pythonHome = getPythonHome(envPath);
if (StringUtils.isEmpty(pythonHome)){
return PYTHON;
@ -115,7 +118,7 @@ public class PythonCommandExecutor extends AbstractCommandExecutor {
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(envPath)));
while ((line = br.readLine()) != null){
if (line.contains("PYTHON_HOME")){
if (line.contains(Constants.PYTHON_HOME)){
sb.append(line);
break;
}

2
escheduler-server/src/main/java/cn/escheduler/server/worker/task/python/PythonTask.java

@ -72,7 +72,7 @@ public class PythonTask extends AbstractTask {
this.pythonProcessTask = new PythonCommandExecutor(this::logHandle,
taskProps.getTaskDir(), taskProps.getTaskAppId(),
taskProps.getTenantCode(), CommonUtils.getPythonSystemEnvPath(), taskProps.getTaskStartTime(),
taskProps.getTenantCode(), null, taskProps.getTaskStartTime(),
taskProps.getTaskTimeout(), logger);
this.processDao = DaoFactory.getDaoInstance(ProcessDao.class);
}

Loading…
Cancel
Save