diff --git a/powerjob-server/powerjob-server-remote/src/main/java/tech/powerjob/server/remote/worker/selector/TaskTrackerSelectorService.java b/powerjob-server/powerjob-server-remote/src/main/java/tech/powerjob/server/remote/worker/selector/TaskTrackerSelectorService.java index 85951a27..4c491ba2 100644 --- a/powerjob-server/powerjob-server-remote/src/main/java/tech/powerjob/server/remote/worker/selector/TaskTrackerSelectorService.java +++ b/powerjob-server/powerjob-server-remote/src/main/java/tech/powerjob/server/remote/worker/selector/TaskTrackerSelectorService.java @@ -3,12 +3,14 @@ package tech.powerjob.server.remote.worker.selector; import com.google.common.collect.Maps; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import tech.powerjob.common.enums.DispatchStrategy; import tech.powerjob.server.common.module.WorkerInfo; import tech.powerjob.server.persistence.remote.model.InstanceInfoDO; import tech.powerjob.server.persistence.remote.model.JobInfoDO; import java.util.List; import java.util.Map; +import java.util.Optional; /** * TaskTrackerSelectorService @@ -27,7 +29,8 @@ public class TaskTrackerSelectorService { } public WorkerInfo select(JobInfoDO jobInfoDO, InstanceInfoDO instanceInfoDO, List availableWorkers) { - TaskTrackerSelector taskTrackerSelector = taskTrackerSelectorMap.get(jobInfoDO.getDispatchStrategy()); + Integer strategy = Optional.ofNullable(jobInfoDO.getDispatchStrategy()).orElse(DispatchStrategy.HEALTH_FIRST.getV()); + TaskTrackerSelector taskTrackerSelector = taskTrackerSelectorMap.get(strategy); return taskTrackerSelector.select(jobInfoDO, instanceInfoDO, availableWorkers); } }