[fix] fix the bug of won't dispatch retry jobs

This commit is contained in:
tjq 2020-07-26 23:33:19 +08:00
parent 2df52fbf58
commit 609681cd22
2 changed files with 3 additions and 4 deletions

View File

@ -68,9 +68,8 @@ public class DispatchService {
// 检查当前任务是否被取消
InstanceInfoDO instanceInfo = instanceInfoRepository.findByInstanceId(instanceId);
InstanceStatus currentStatus = InstanceStatus.of(instanceInfo.getStatus());
if (currentStatus != WAITING_DISPATCH) {
log.info("[Dispatcher-{}|{}] cancel dispatch job due to instance status({}) is not WAITING_DISPATCH", jobId, instanceId, currentStatus.name());
if (instanceInfo.getStatus() == CANCELED.getV()) {
log.info("[Dispatcher-{}|{}] cancel dispatch due to instance has been canceled", jobId, instanceId);
return;
}

View File

@ -115,7 +115,7 @@ public class InstanceStatusCheckService {
threshold = System.currentTimeMillis() - RECEIVE_TIMEOUT_MS;
List<InstanceInfoDO> waitingWorkerReceiveInstances = instanceInfoRepository.findByAppIdInAndStatusAndActualTriggerTimeLessThan(partAppIds, InstanceStatus.WAITING_WORKER_RECEIVE.getV(), threshold);
if (!CollectionUtils.isEmpty(waitingWorkerReceiveInstances)) {
log.warn("[InstanceStatusChecker] instances({}) did nt receive any reply from worker.", waitingWorkerReceiveInstances);
log.warn("[InstanceStatusChecker] instances({}) didn't receive any reply from worker.", waitingWorkerReceiveInstances);
waitingWorkerReceiveInstances.forEach(instance -> {
// 重新派发
JobInfoDO jobInfoDO = jobInfoRepository.findById(instance.getJobId()).orElseGet(JobInfoDO::new);