fix frequent job bug

This commit is contained in:
tjq 2020-04-14 17:24:46 +08:00
parent 6433ed23b1
commit 2a3640c88c
2 changed files with 6 additions and 1 deletions

View File

@ -99,6 +99,8 @@ public class DispatchService {
// 构造请求 // 构造请求
ServerScheduleJobReq req = new ServerScheduleJobReq(); ServerScheduleJobReq req = new ServerScheduleJobReq();
BeanUtils.copyProperties(jobInfo, req); BeanUtils.copyProperties(jobInfo, req);
// 传入 JobId
req.setJobId(jobInfo.getId());
req.setInstanceParams(instanceParams); req.setInstanceParams(instanceParams);
req.setInstanceId(instanceId); req.setInstanceId(instanceId);
req.setAllWorkerAddress(finalWorkers); req.setAllWorkerAddress(finalWorkers);

View File

@ -164,7 +164,7 @@ public class FrequentTaskTracker extends TaskTracker {
// 判断是否超出最大执行实例数 // 判断是否超出最大执行实例数
if (timeExpressionType == TimeExpressionType.FIX_RATE) { if (timeExpressionType == TimeExpressionType.FIX_RATE) {
if (subInstanceId2TimeHolder.size() > maxInstanceNum) { if (subInstanceId2TimeHolder.size() > maxInstanceNum) {
log.error("[TaskTracker-{}] cancel to launch the subInstance({}) due to too much subInstance is running.", instanceId, subInstanceId); log.warn("[TaskTracker-{}] cancel to launch the subInstance({}) due to too much subInstance is running.", instanceId, subInstanceId);
processFinishedSubInstance(subInstanceId, false, "TOO_MUCH_INSTANCE"); processFinishedSubInstance(subInstanceId, false, "TOO_MUCH_INSTANCE");
return; return;
} }
@ -320,6 +320,9 @@ public class FrequentTaskTracker extends TaskTracker {
failedTimes.incrementAndGet(); failedTimes.incrementAndGet();
} }
// 从运行中任务列表移除
subInstanceId2TimeHolder.remove(subInstanceId);
// 更新缓存数据 // 更新缓存数据
if (recentSubInstanceInfo.containsKey(subInstanceId)) { if (recentSubInstanceInfo.containsKey(subInstanceId)) {
SubInstanceInfo subInstanceInfo = recentSubInstanceInfo.get(subInstanceId); SubInstanceInfo subInstanceInfo = recentSubInstanceInfo.get(subInstanceId);