mirror of
https://gitee.com/wangkang/udf.git
synced 2026-11-02 05:43:45 +00:00
修改计划任务处理逻辑
This commit is contained in:
@@ -22,7 +22,14 @@ public interface IRmsJobEvent {
|
||||
* @param rmsJobParam rmsJobParam
|
||||
* @return boolean
|
||||
*/
|
||||
boolean hasRunning(RmsJobParam rmsJobParam);
|
||||
boolean beginRun(RmsJobParam rmsJobParam);
|
||||
|
||||
/**
|
||||
* endRun
|
||||
*
|
||||
* @param rmsJobParam rmsJobParam
|
||||
*/
|
||||
void endRun(RmsJobParam rmsJobParam);
|
||||
|
||||
/**
|
||||
* 描述 : save
|
||||
@@ -32,11 +39,4 @@ public interface IRmsJobEvent {
|
||||
*/
|
||||
void save(RmsJobParam param, RmsJobResult result);
|
||||
|
||||
/**
|
||||
* 描述 : delete
|
||||
*
|
||||
* @param fireInstanceId fireInstanceId
|
||||
*/
|
||||
void delete(String fireInstanceId);
|
||||
|
||||
}
|
||||
|
||||
@@ -12,11 +12,16 @@ import org.itkk.udf.scheduler.client.domain.RmsJobResult;
|
||||
public class DefRmsJobEvent implements IRmsJobEvent {
|
||||
|
||||
@Override
|
||||
public boolean hasRunning(RmsJobParam rmsJobParam) {
|
||||
log.info("----- DefRmsJobEvent.hasRunning -----> {}", rmsJobParam.toString());
|
||||
public boolean beginRun(RmsJobParam rmsJobParam) {
|
||||
log.info("----- DefRmsJobEvent.beginRun -----> {}", rmsJobParam.toString());
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endRun(RmsJobParam rmsJobParam) {
|
||||
log.info("----- DefRmsJobEvent.endRun -----> {}", rmsJobParam.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void save(RmsJobParam param, RmsJobResult result) {
|
||||
if (param != null) {
|
||||
@@ -27,8 +32,4 @@ public class DefRmsJobEvent implements IRmsJobEvent {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void delete(String fireInstanceId) {
|
||||
log.info("----- DefRmsJobEvent.delete -----> {}", fireInstanceId);
|
||||
}
|
||||
}
|
||||
|
||||
+26
-10
@@ -75,13 +75,17 @@ public abstract class AbstractBaseRmsJob extends AbstractBaseJob {
|
||||
* @throws JobExecutionException JobExecutionException
|
||||
*/
|
||||
protected void disallowConcurrentExecute(RmsJobParam rmsJobParam) throws JobExecutionException {
|
||||
if (!this.hasRunning(rmsJobParam)) { //没有正在运行的任务才能运行
|
||||
this.execute(rmsJobParam);
|
||||
} else { //跳过执行,并且记录
|
||||
RmsJobResult result = new RmsJobResult();
|
||||
result.setId(rmsJobParam.getId());
|
||||
result.setStats(RmsJobStats.SKIP.value());
|
||||
save(rmsJobParam, result);
|
||||
try {
|
||||
if (!this.beginRun(rmsJobParam)) { //没有正在运行的任务才能运行
|
||||
this.execute(rmsJobParam);
|
||||
} else { //跳过执行,并且记录
|
||||
RmsJobResult result = new RmsJobResult();
|
||||
result.setId(rmsJobParam.getId());
|
||||
result.setStats(RmsJobStats.SKIP.value());
|
||||
save(rmsJobParam, result);
|
||||
}
|
||||
} finally {
|
||||
this.endRun(rmsJobParam);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -127,14 +131,26 @@ public abstract class AbstractBaseRmsJob extends AbstractBaseJob {
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查是否有正在运行
|
||||
* 开始运行任务
|
||||
*
|
||||
* @param rmsJobParam rmsJobParam
|
||||
* @return 是否正在运行
|
||||
*/
|
||||
private boolean hasRunning(RmsJobParam rmsJobParam) {
|
||||
private boolean beginRun(RmsJobParam rmsJobParam) {
|
||||
IRmsJobEvent rmsJobEvent = this.getRmsJobEvent();
|
||||
return rmsJobEvent != null && rmsJobEvent.hasRunning(rmsJobParam);
|
||||
return rmsJobEvent != null && rmsJobEvent.beginRun(rmsJobParam);
|
||||
}
|
||||
|
||||
/**
|
||||
* 结束运行任务
|
||||
*
|
||||
* @param rmsJobParam rmsJobParam
|
||||
*/
|
||||
private void endRun(RmsJobParam rmsJobParam) {
|
||||
IRmsJobEvent rmsJobEvent = this.getRmsJobEvent();
|
||||
if (rmsJobEvent != null) {
|
||||
rmsJobEvent.endRun(rmsJobParam);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user