parent
7a129468a4
commit
935cc1276f
@ -0,0 +1,55 @@
|
||||
package com.xxl.job.core.handler.impl;
|
||||
|
||||
import com.xxl.job.core.biz.model.ReturnT;
|
||||
import com.xxl.job.core.glue.GlueTypeEnum;
|
||||
import com.xxl.job.core.handler.IJobHandler;
|
||||
import com.xxl.job.core.log.XxlJobFileAppender;
|
||||
import com.xxl.job.core.util.ScriptUtil;
|
||||
|
||||
/**
|
||||
* Created by xuxueli on 17/4/27.
|
||||
*/
|
||||
public class ScriptJobHandler extends IJobHandler {
|
||||
|
||||
private int jobId;
|
||||
private long glueUpdatetime;
|
||||
private String gluesource;
|
||||
private GlueTypeEnum glueType;
|
||||
|
||||
public ScriptJobHandler(int jobId, long glueUpdatetime, String gluesource, GlueTypeEnum glueType){
|
||||
this.jobId = jobId;
|
||||
this.glueUpdatetime = glueUpdatetime;
|
||||
this.gluesource = gluesource;
|
||||
this.glueType = glueType;
|
||||
}
|
||||
|
||||
public long getGlueUpdatetime() {
|
||||
return glueUpdatetime;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReturnT<String> execute(String... params) throws Exception {
|
||||
|
||||
// cmd + script-file-name
|
||||
String cmd = "bash";
|
||||
String scriptFileName = null;
|
||||
if (GlueTypeEnum.GLUE_SHELL == glueType) {
|
||||
cmd = "bash";
|
||||
scriptFileName = XxlJobFileAppender.filePath.concat("gluesource/").concat(String.valueOf(jobId)).concat("_").concat(String.valueOf(glueUpdatetime)).concat(".sh");
|
||||
} else if (GlueTypeEnum.GLUE_PYTHON == glueType) {
|
||||
cmd = "python";
|
||||
scriptFileName = XxlJobFileAppender.filePath.concat("gluesource/").concat(String.valueOf(jobId)).concat("_").concat(String.valueOf(glueUpdatetime)).concat(".py");
|
||||
}
|
||||
|
||||
// make script file
|
||||
ScriptUtil.markScriptFile(scriptFileName, gluesource);
|
||||
|
||||
// log file
|
||||
String logFileName = XxlJobFileAppender.filePath.concat(XxlJobFileAppender.contextHolder.get());
|
||||
|
||||
// invoke
|
||||
ScriptUtil.execToFile(cmd, scriptFileName, logFileName);
|
||||
return ReturnT.SUCCESS;
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in new issue