mirror of
https://github.com/PowerJob/PowerJob.git
synced 2025-07-17 00:00:04 +08:00
refactor: optimized package structure
This commit is contained in:
parent
7441c61313
commit
c17da02da5
@ -1,8 +1,8 @@
|
||||
package com.github.kfcfans.powerjob.server;
|
||||
|
||||
import com.github.kfcfans.powerjob.server.common.utils.PropertyUtils;
|
||||
import com.github.kfcfans.powerjob.server.transport.starter.AkkaStarter;
|
||||
import com.github.kfcfans.powerjob.server.transport.starter.VertXStarter;
|
||||
import com.github.kfcfans.powerjob.server.remote.transport.starter.AkkaStarter;
|
||||
import com.github.kfcfans.powerjob.server.remote.transport.starter.VertXStarter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
|
@ -1,14 +1,14 @@
|
||||
package com.github.kfcfans.powerjob.server.handler.inner;
|
||||
package com.github.kfcfans.powerjob.server.remote.server;
|
||||
|
||||
import akka.actor.AbstractActor;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.github.kfcfans.powerjob.common.model.WorkerInfo;
|
||||
import com.github.kfcfans.powerjob.server.remote.worker.cluster.WorkerInfo;
|
||||
import com.github.kfcfans.powerjob.common.response.AskResponse;
|
||||
import com.github.kfcfans.powerjob.server.common.utils.SpringUtils;
|
||||
import com.github.kfcfans.powerjob.server.service.ha.WorkerManagerService;
|
||||
import com.github.kfcfans.powerjob.server.handler.inner.requests.FriendQueryWorkerClusterStatusReq;
|
||||
import com.github.kfcfans.powerjob.server.handler.inner.requests.Ping;
|
||||
import com.github.kfcfans.powerjob.server.handler.inner.requests.RemoteProcessReq;
|
||||
import com.github.kfcfans.powerjob.server.remote.server.request.FriendQueryWorkerClusterStatusReq;
|
||||
import com.github.kfcfans.powerjob.server.remote.server.request.Ping;
|
||||
import com.github.kfcfans.powerjob.server.remote.server.request.RemoteProcessReq;
|
||||
import com.github.kfcfans.powerjob.server.remote.worker.cluster.WorkerClusterManagerService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||
import org.springframework.util.ReflectionUtils;
|
||||
@ -45,7 +45,7 @@ public class FriendRequestHandler extends AbstractActor {
|
||||
* 处理查询Worker节点的请求
|
||||
*/
|
||||
private void onReceiveFriendQueryWorkerClusterStatusReq(FriendQueryWorkerClusterStatusReq req) {
|
||||
Map<String, WorkerInfo> workerInfo = WorkerManagerService.getActiveWorkerInfo(req.getAppId());
|
||||
Map<String, WorkerInfo> workerInfo = WorkerClusterManagerService.getActiveWorkerInfo(req.getAppId());
|
||||
AskResponse askResponse = AskResponse.succeed(workerInfo);
|
||||
getSender().tell(askResponse, getSelf());
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package com.github.kfcfans.powerjob.server.service.ha;
|
||||
package com.github.kfcfans.powerjob.server.remote.server.election;
|
||||
|
||||
import akka.actor.ActorSelection;
|
||||
import akka.pattern.Patterns;
|
||||
@ -7,11 +7,11 @@ import com.github.kfcfans.powerjob.common.Protocol;
|
||||
import com.github.kfcfans.powerjob.common.response.AskResponse;
|
||||
import com.github.kfcfans.powerjob.server.extension.LockService;
|
||||
import com.github.kfcfans.powerjob.server.extension.ServerElectionService;
|
||||
import com.github.kfcfans.powerjob.server.handler.inner.requests.Ping;
|
||||
import com.github.kfcfans.powerjob.server.remote.server.request.Ping;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.model.AppInfoDO;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.repository.AppInfoRepository;
|
||||
import com.github.kfcfans.powerjob.server.transport.TransportService;
|
||||
import com.github.kfcfans.powerjob.server.transport.starter.AkkaStarter;
|
||||
import com.github.kfcfans.powerjob.server.remote.transport.TransportService;
|
||||
import com.github.kfcfans.powerjob.server.remote.transport.starter.AkkaStarter;
|
||||
import com.google.common.collect.Sets;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
@ -1,4 +1,4 @@
|
||||
package com.github.kfcfans.powerjob.server.common.redirect;
|
||||
package com.github.kfcfans.powerjob.server.remote.server.redirector;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
@ -1,12 +1,12 @@
|
||||
package com.github.kfcfans.powerjob.server.common.redirect;
|
||||
package com.github.kfcfans.powerjob.server.remote.server.redirector;
|
||||
|
||||
import akka.pattern.Patterns;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.github.kfcfans.powerjob.common.PowerJobException;
|
||||
import com.github.kfcfans.powerjob.common.RemoteConstant;
|
||||
import com.github.kfcfans.powerjob.common.response.AskResponse;
|
||||
import com.github.kfcfans.powerjob.server.transport.starter.AkkaStarter;
|
||||
import com.github.kfcfans.powerjob.server.handler.inner.requests.RemoteProcessReq;
|
||||
import com.github.kfcfans.powerjob.server.remote.server.request.RemoteProcessReq;
|
||||
import com.github.kfcfans.powerjob.server.remote.transport.starter.AkkaStarter;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.model.AppInfoDO;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.repository.AppInfoRepository;
|
||||
import lombok.extern.slf4j.Slf4j;
|
@ -1,4 +1,4 @@
|
||||
package com.github.kfcfans.powerjob.server.handler.inner.requests;
|
||||
package com.github.kfcfans.powerjob.server.remote.server.request;
|
||||
|
||||
import com.github.kfcfans.powerjob.common.OmsSerializable;
|
||||
import lombok.AllArgsConstructor;
|
@ -1,4 +1,4 @@
|
||||
package com.github.kfcfans.powerjob.server.handler.inner.requests;
|
||||
package com.github.kfcfans.powerjob.server.remote.server.request;
|
||||
|
||||
import com.github.kfcfans.powerjob.common.OmsSerializable;
|
||||
import lombok.Data;
|
@ -1,4 +1,4 @@
|
||||
package com.github.kfcfans.powerjob.server.handler.inner.requests;
|
||||
package com.github.kfcfans.powerjob.server.remote.server.request;
|
||||
|
||||
import com.github.kfcfans.powerjob.common.OmsSerializable;
|
||||
import lombok.Getter;
|
@ -1,4 +1,4 @@
|
||||
package com.github.kfcfans.powerjob.server.transport;
|
||||
package com.github.kfcfans.powerjob.server.remote.transport;
|
||||
|
||||
import com.github.kfcfans.powerjob.common.OmsSerializable;
|
||||
import com.github.kfcfans.powerjob.common.Protocol;
|
@ -1,4 +1,4 @@
|
||||
package com.github.kfcfans.powerjob.server.transport;
|
||||
package com.github.kfcfans.powerjob.server.remote.transport;
|
||||
|
||||
import com.github.kfcfans.powerjob.common.OmsSerializable;
|
||||
import com.github.kfcfans.powerjob.common.Protocol;
|
@ -1,4 +1,4 @@
|
||||
package com.github.kfcfans.powerjob.server.transport.impl;
|
||||
package com.github.kfcfans.powerjob.server.remote.transport.impl;
|
||||
|
||||
import akka.actor.ActorSelection;
|
||||
import akka.pattern.Patterns;
|
||||
@ -6,8 +6,8 @@ import com.github.kfcfans.powerjob.common.OmsSerializable;
|
||||
import com.github.kfcfans.powerjob.common.Protocol;
|
||||
import com.github.kfcfans.powerjob.common.RemoteConstant;
|
||||
import com.github.kfcfans.powerjob.common.response.AskResponse;
|
||||
import com.github.kfcfans.powerjob.server.transport.Transporter;
|
||||
import com.github.kfcfans.powerjob.server.transport.starter.AkkaStarter;
|
||||
import com.github.kfcfans.powerjob.server.remote.transport.Transporter;
|
||||
import com.github.kfcfans.powerjob.server.remote.transport.starter.AkkaStarter;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.Duration;
|
@ -1,12 +1,12 @@
|
||||
package com.github.kfcfans.powerjob.server.transport.impl;
|
||||
package com.github.kfcfans.powerjob.server.remote.transport.impl;
|
||||
|
||||
import com.github.kfcfans.powerjob.common.OmsSerializable;
|
||||
import com.github.kfcfans.powerjob.common.Protocol;
|
||||
import com.github.kfcfans.powerjob.common.RemoteConstant;
|
||||
import com.github.kfcfans.powerjob.common.response.AskResponse;
|
||||
import com.github.kfcfans.powerjob.common.utils.NetUtils;
|
||||
import com.github.kfcfans.powerjob.server.transport.Transporter;
|
||||
import com.github.kfcfans.powerjob.server.transport.starter.VertXStarter;
|
||||
import com.github.kfcfans.powerjob.server.remote.transport.Transporter;
|
||||
import com.github.kfcfans.powerjob.server.remote.transport.starter.VertXStarter;
|
||||
import io.vertx.core.Future;
|
||||
import io.vertx.core.Vertx;
|
||||
import io.vertx.core.buffer.Buffer;
|
@ -1,4 +1,4 @@
|
||||
package com.github.kfcfans.powerjob.server.transport.starter;
|
||||
package com.github.kfcfans.powerjob.server.remote.transport.starter;
|
||||
|
||||
import akka.actor.ActorSelection;
|
||||
import akka.actor.ActorSystem;
|
||||
@ -12,8 +12,8 @@ import com.github.kfcfans.powerjob.common.response.AskResponse;
|
||||
import com.github.kfcfans.powerjob.common.utils.NetUtils;
|
||||
import com.github.kfcfans.powerjob.server.common.PowerJobServerConfigKey;
|
||||
import com.github.kfcfans.powerjob.server.common.utils.PropertyUtils;
|
||||
import com.github.kfcfans.powerjob.server.handler.inner.FriendRequestHandler;
|
||||
import com.github.kfcfans.powerjob.server.handler.outer.WorkerRequestAkkaHandler;
|
||||
import com.github.kfcfans.powerjob.server.remote.server.FriendRequestHandler;
|
||||
import com.github.kfcfans.powerjob.server.remote.worker.handler.impl.WorkerRequestAkkaHandler;
|
||||
import com.google.common.base.Stopwatch;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.typesafe.config.Config;
|
@ -1,10 +1,10 @@
|
||||
package com.github.kfcfans.powerjob.server.transport.starter;
|
||||
package com.github.kfcfans.powerjob.server.remote.transport.starter;
|
||||
|
||||
import com.github.kfcfans.powerjob.common.OmsConstant;
|
||||
import com.github.kfcfans.powerjob.common.utils.NetUtils;
|
||||
import com.github.kfcfans.powerjob.server.common.PowerJobServerConfigKey;
|
||||
import com.github.kfcfans.powerjob.server.common.utils.PropertyUtils;
|
||||
import com.github.kfcfans.powerjob.server.handler.outer.WorkerRequestHttpHandler;
|
||||
import com.github.kfcfans.powerjob.server.remote.worker.handler.impl.WorkerRequestHttpHandler;
|
||||
import com.google.common.base.Stopwatch;
|
||||
import io.vertx.core.Vertx;
|
||||
import lombok.Getter;
|
@ -1,9 +1,8 @@
|
||||
package com.github.kfcfans.powerjob.server.service.ha;
|
||||
package com.github.kfcfans.powerjob.server.remote.worker.cluster;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.github.kfcfans.powerjob.common.model.DeployedContainerInfo;
|
||||
import com.github.kfcfans.powerjob.common.model.SystemMetrics;
|
||||
import com.github.kfcfans.powerjob.common.model.WorkerInfo;
|
||||
import com.github.kfcfans.powerjob.common.request.WorkerHeartbeat;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
@ -1,7 +1,6 @@
|
||||
package com.github.kfcfans.powerjob.server.service.ha;
|
||||
package com.github.kfcfans.powerjob.server.remote.worker.cluster;
|
||||
|
||||
import com.github.kfcfans.powerjob.common.model.DeployedContainerInfo;
|
||||
import com.github.kfcfans.powerjob.common.model.WorkerInfo;
|
||||
import com.github.kfcfans.powerjob.common.request.WorkerHeartbeat;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Sets;
|
||||
@ -16,7 +15,7 @@ import java.util.*;
|
||||
* @since 2020/4/5
|
||||
*/
|
||||
@Slf4j
|
||||
public class WorkerManagerService {
|
||||
public class WorkerClusterManagerService {
|
||||
|
||||
// 存储Worker健康信息,appId -> ClusterStatusHolder
|
||||
private static final Map<Long, ClusterStatusHolder> appId2ClusterStatus = Maps.newConcurrentMap();
|
@ -1,5 +1,7 @@
|
||||
package com.github.kfcfans.powerjob.common.model;
|
||||
package com.github.kfcfans.powerjob.server.remote.worker.cluster;
|
||||
|
||||
import com.github.kfcfans.powerjob.common.model.DeployedContainerInfo;
|
||||
import com.github.kfcfans.powerjob.common.model.SystemMetrics;
|
||||
import com.github.kfcfans.powerjob.common.request.WorkerHeartbeat;
|
||||
import lombok.Data;
|
||||
|
@ -1,7 +1,7 @@
|
||||
package com.github.kfcfans.powerjob.server.handler.outer;
|
||||
package com.github.kfcfans.powerjob.server.remote.worker.handler;
|
||||
|
||||
import com.github.kfcfans.powerjob.common.InstanceStatus;
|
||||
import com.github.kfcfans.powerjob.common.model.WorkerInfo;
|
||||
import com.github.kfcfans.powerjob.server.remote.worker.cluster.WorkerInfo;
|
||||
import com.github.kfcfans.powerjob.common.request.*;
|
||||
import com.github.kfcfans.powerjob.common.response.AskResponse;
|
||||
import com.github.kfcfans.powerjob.common.utils.JsonUtils;
|
||||
@ -13,7 +13,7 @@ import com.github.kfcfans.powerjob.server.persistence.core.model.JobInfoDO;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.repository.ContainerInfoRepository;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.repository.JobInfoRepository;
|
||||
import com.github.kfcfans.powerjob.server.service.InstanceLogService;
|
||||
import com.github.kfcfans.powerjob.server.service.ha.WorkerManagerService;
|
||||
import com.github.kfcfans.powerjob.server.remote.worker.cluster.WorkerClusterManagerService;
|
||||
import com.github.kfcfans.powerjob.server.service.instance.InstanceManager;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
@ -51,7 +51,7 @@ public class WorkerRequestHandler {
|
||||
* @param heartbeat 心跳包
|
||||
*/
|
||||
public void onReceiveWorkerHeartbeat(WorkerHeartbeat heartbeat) {
|
||||
WorkerManagerService.updateStatus(heartbeat);
|
||||
WorkerClusterManagerService.updateStatus(heartbeat);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -123,7 +123,7 @@ public class WorkerRequestHandler {
|
||||
if (!jobInfo.getAppId().equals(appId)) {
|
||||
askResponse = AskResponse.failed("Permission Denied!");
|
||||
}else {
|
||||
List<String> sortedAvailableWorker = WorkerManagerService.getAvailableWorkers(appId, jobInfo.getMinCpuCores(), jobInfo.getMinMemorySpace(), jobInfo.getMinDiskSpace())
|
||||
List<String> sortedAvailableWorker = WorkerClusterManagerService.getAvailableWorkers(appId, jobInfo.getMinCpuCores(), jobInfo.getMinMemorySpace(), jobInfo.getMinDiskSpace())
|
||||
.stream().map(WorkerInfo::getAddress).collect(Collectors.toList());
|
||||
askResponse = AskResponse.succeed(sortedAvailableWorker);
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package com.github.kfcfans.powerjob.server.handler.outer;
|
||||
package com.github.kfcfans.powerjob.server.remote.worker.handler.impl;
|
||||
|
||||
import akka.actor.AbstractActor;
|
||||
import com.github.kfcfans.powerjob.common.request.*;
|
||||
@ -7,7 +7,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
import static com.github.kfcfans.powerjob.server.handler.outer.WorkerRequestHandler.getWorkerRequestHandler;
|
||||
import static com.github.kfcfans.powerjob.server.remote.worker.handler.WorkerRequestHandler.getWorkerRequestHandler;
|
||||
|
||||
/**
|
||||
* 处理 Worker 请求
|
@ -1,4 +1,4 @@
|
||||
package com.github.kfcfans.powerjob.server.handler.outer;
|
||||
package com.github.kfcfans.powerjob.server.remote.worker.handler.impl;
|
||||
|
||||
import com.github.kfcfans.powerjob.common.OmsConstant;
|
||||
import com.github.kfcfans.powerjob.common.ProtocolConstant;
|
||||
@ -21,7 +21,7 @@ import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||
|
||||
import java.util.Properties;
|
||||
|
||||
import static com.github.kfcfans.powerjob.server.handler.outer.WorkerRequestHandler.getWorkerRequestHandler;
|
||||
import static com.github.kfcfans.powerjob.server.remote.worker.handler.WorkerRequestHandler.getWorkerRequestHandler;
|
||||
|
||||
/**
|
||||
* WorkerRequestHandler
|
@ -10,14 +10,14 @@ import com.github.kfcfans.powerjob.common.utils.CommonUtils;
|
||||
import com.github.kfcfans.powerjob.common.utils.JsonUtils;
|
||||
import com.github.kfcfans.powerjob.common.utils.NetUtils;
|
||||
import com.github.kfcfans.powerjob.common.utils.SegmentLock;
|
||||
import com.github.kfcfans.powerjob.server.transport.starter.AkkaStarter;
|
||||
import com.github.kfcfans.powerjob.server.remote.transport.starter.AkkaStarter;
|
||||
import com.github.kfcfans.powerjob.server.common.constans.ContainerSourceType;
|
||||
import com.github.kfcfans.powerjob.server.common.constans.SwitchableStatus;
|
||||
import com.github.kfcfans.powerjob.server.common.utils.OmsFileUtils;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.model.ContainerInfoDO;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.repository.ContainerInfoRepository;
|
||||
import com.github.kfcfans.powerjob.server.persistence.mongodb.GridFsManager;
|
||||
import com.github.kfcfans.powerjob.server.service.ha.WorkerManagerService;
|
||||
import com.github.kfcfans.powerjob.server.remote.worker.cluster.WorkerClusterManagerService;
|
||||
import com.github.kfcfans.powerjob.server.extension.LockService;
|
||||
import com.github.kfcfans.powerjob.server.web.request.SaveContainerInfoRequest;
|
||||
import com.google.common.collect.ArrayListMultimap;
|
||||
@ -125,7 +125,7 @@ public class ContainerService {
|
||||
}
|
||||
|
||||
ServerDestroyContainerRequest destroyRequest = new ServerDestroyContainerRequest(container.getId());
|
||||
WorkerManagerService.getActiveWorkerInfo(container.getAppId()).keySet().forEach(akkaAddress -> {
|
||||
WorkerClusterManagerService.getActiveWorkerInfo(container.getAppId()).keySet().forEach(akkaAddress -> {
|
||||
ActorSelection workerActor = AkkaStarter.getWorkerActor(akkaAddress);
|
||||
workerActor.tell(destroyRequest, null);
|
||||
});
|
||||
@ -247,7 +247,7 @@ public class ContainerService {
|
||||
containerInfoRepository.saveAndFlush(container);
|
||||
|
||||
// 开始部署(需要分批进行)
|
||||
Set<String> workerAddressList = WorkerManagerService.getActiveWorkerInfo(container.getAppId()).keySet();
|
||||
Set<String> workerAddressList = WorkerClusterManagerService.getActiveWorkerInfo(container.getAppId()).keySet();
|
||||
if (workerAddressList.isEmpty()) {
|
||||
remote.sendText("SYSTEM: there is no worker available now, deploy failed!");
|
||||
return;
|
||||
@ -284,9 +284,9 @@ public class ContainerService {
|
||||
* @return 拼接好的可阅读字符串
|
||||
*/
|
||||
public String fetchDeployedInfo(Long appId, Long containerId) {
|
||||
List<DeployedContainerInfo> infoList = WorkerManagerService.getDeployedContainerInfos(appId, containerId);
|
||||
List<DeployedContainerInfo> infoList = WorkerClusterManagerService.getDeployedContainerInfos(appId, containerId);
|
||||
|
||||
Set<String> aliveWorkers = WorkerManagerService.getActiveWorkerInfo(appId).keySet();
|
||||
Set<String> aliveWorkers = WorkerClusterManagerService.getActiveWorkerInfo(appId).keySet();
|
||||
|
||||
Set<String> deployedList = Sets.newLinkedHashSet();
|
||||
List<String> unDeployedList = Lists.newLinkedList();
|
||||
|
@ -1,16 +1,16 @@
|
||||
package com.github.kfcfans.powerjob.server.service;
|
||||
|
||||
import com.github.kfcfans.powerjob.common.*;
|
||||
import com.github.kfcfans.powerjob.common.model.WorkerInfo;
|
||||
import com.github.kfcfans.powerjob.server.remote.worker.cluster.WorkerInfo;
|
||||
import com.github.kfcfans.powerjob.common.request.ServerScheduleJobReq;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.model.InstanceInfoDO;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.model.JobInfoDO;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.repository.InstanceInfoRepository;
|
||||
import com.github.kfcfans.powerjob.server.service.ha.WorkerManagerService;
|
||||
import com.github.kfcfans.powerjob.server.remote.worker.cluster.WorkerClusterManagerService;
|
||||
import com.github.kfcfans.powerjob.server.service.instance.InstanceManager;
|
||||
import com.github.kfcfans.powerjob.server.service.instance.InstanceMetadataService;
|
||||
import com.github.kfcfans.powerjob.server.service.lock.local.UseSegmentLock;
|
||||
import com.github.kfcfans.powerjob.server.transport.TransportService;
|
||||
import com.github.kfcfans.powerjob.server.remote.transport.TransportService;
|
||||
import com.google.common.base.Splitter;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Sets;
|
||||
@ -107,7 +107,7 @@ public class DispatchService {
|
||||
}
|
||||
|
||||
// 获取当前所有可用的Worker
|
||||
List<WorkerInfo> allAvailableWorker = WorkerManagerService.getSortedAvailableWorkers(jobInfo.getAppId(), jobInfo.getMinCpuCores(), jobInfo.getMinMemorySpace(), jobInfo.getMinDiskSpace());
|
||||
List<WorkerInfo> allAvailableWorker = WorkerClusterManagerService.getSortedAvailableWorkers(jobInfo.getAppId(), jobInfo.getMinCpuCores(), jobInfo.getMinMemorySpace(), jobInfo.getMinDiskSpace());
|
||||
|
||||
allAvailableWorker.removeIf(worker -> {
|
||||
// 空,则全部不过滤
|
||||
@ -120,7 +120,7 @@ public class DispatchService {
|
||||
});
|
||||
|
||||
if (CollectionUtils.isEmpty(allAvailableWorker)) {
|
||||
String clusterStatusDescription = WorkerManagerService.getWorkerClusterStatusDescription(jobInfo.getAppId());
|
||||
String clusterStatusDescription = WorkerClusterManagerService.getWorkerClusterStatusDescription(jobInfo.getAppId());
|
||||
log.warn("[Dispatcher-{}|{}] cancel dispatch job due to no worker available, clusterStatus is {}.", jobId, instanceId, clusterStatusDescription);
|
||||
instanceInfoRepository.update4TriggerFailed(instanceId, FAILED.getV(), currentRunningTimes, current, current, RemoteConstant.EMPTY_ADDRESS, SystemInstanceResult.NO_WORKER_AVAILABLE, dbInstanceParams, now);
|
||||
|
||||
|
@ -7,7 +7,7 @@ import com.github.kfcfans.powerjob.common.model.InstanceLogContent;
|
||||
import com.github.kfcfans.powerjob.common.utils.CommonUtils;
|
||||
import com.github.kfcfans.powerjob.common.utils.NetUtils;
|
||||
import com.github.kfcfans.powerjob.common.utils.SegmentLock;
|
||||
import com.github.kfcfans.powerjob.server.common.redirect.DesignateServer;
|
||||
import com.github.kfcfans.powerjob.server.remote.server.redirector.DesignateServer;
|
||||
import com.github.kfcfans.powerjob.server.common.utils.OmsFileUtils;
|
||||
import com.github.kfcfans.powerjob.server.persistence.StringPage;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.model.JobInfoDO;
|
||||
|
@ -8,7 +8,7 @@ import com.github.kfcfans.powerjob.common.request.http.SaveJobInfoRequest;
|
||||
import com.github.kfcfans.powerjob.common.response.JobInfoDTO;
|
||||
import com.github.kfcfans.powerjob.server.common.SJ;
|
||||
import com.github.kfcfans.powerjob.server.common.constans.SwitchableStatus;
|
||||
import com.github.kfcfans.powerjob.server.common.redirect.DesignateServer;
|
||||
import com.github.kfcfans.powerjob.server.remote.server.redirector.DesignateServer;
|
||||
import com.github.kfcfans.powerjob.server.common.utils.CronExpression;
|
||||
import com.github.kfcfans.powerjob.server.common.utils.QueryConvertUtils;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.model.InstanceInfoDO;
|
||||
|
@ -2,13 +2,13 @@ package com.github.kfcfans.powerjob.server.service.instance;
|
||||
|
||||
import com.github.kfcfans.powerjob.common.*;
|
||||
import com.github.kfcfans.powerjob.common.model.InstanceDetail;
|
||||
import com.github.kfcfans.powerjob.common.model.WorkerInfo;
|
||||
import com.github.kfcfans.powerjob.server.remote.worker.cluster.WorkerInfo;
|
||||
import com.github.kfcfans.powerjob.common.request.ServerQueryInstanceStatusReq;
|
||||
import com.github.kfcfans.powerjob.common.request.ServerStopInstanceReq;
|
||||
import com.github.kfcfans.powerjob.common.response.AskResponse;
|
||||
import com.github.kfcfans.powerjob.common.response.InstanceInfoDTO;
|
||||
import com.github.kfcfans.powerjob.server.common.constans.InstanceType;
|
||||
import com.github.kfcfans.powerjob.server.common.redirect.DesignateServer;
|
||||
import com.github.kfcfans.powerjob.server.remote.server.redirector.DesignateServer;
|
||||
import com.github.kfcfans.powerjob.server.common.utils.QueryConvertUtils;
|
||||
import com.github.kfcfans.powerjob.server.common.utils.timewheel.TimerFuture;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.model.InstanceInfoDO;
|
||||
@ -16,9 +16,9 @@ import com.github.kfcfans.powerjob.server.persistence.core.model.JobInfoDO;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.repository.InstanceInfoRepository;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.repository.JobInfoRepository;
|
||||
import com.github.kfcfans.powerjob.server.service.DispatchService;
|
||||
import com.github.kfcfans.powerjob.server.service.ha.WorkerManagerService;
|
||||
import com.github.kfcfans.powerjob.server.remote.worker.cluster.WorkerClusterManagerService;
|
||||
import com.github.kfcfans.powerjob.server.service.id.IdGenerateService;
|
||||
import com.github.kfcfans.powerjob.server.transport.TransportService;
|
||||
import com.github.kfcfans.powerjob.server.remote.transport.TransportService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -115,7 +115,7 @@ public class InstanceService {
|
||||
不可靠通知停止 TaskTracker
|
||||
假如没有成功关闭,之后 TaskTracker 会再次 reportStatus,按照流程,instanceLog 会被更新为 RUNNING,开发者可以再次手动关闭
|
||||
*/
|
||||
Optional<WorkerInfo> workerInfoOpt = WorkerManagerService.getWorkerInfo(instanceInfo.getAppId(), instanceInfo.getTaskTrackerAddress());
|
||||
Optional<WorkerInfo> workerInfoOpt = WorkerClusterManagerService.getWorkerInfo(instanceInfo.getAppId(), instanceInfo.getTaskTrackerAddress());
|
||||
if (workerInfoOpt.isPresent()) {
|
||||
ServerStopInstanceReq req = new ServerStopInstanceReq(instanceId);
|
||||
WorkerInfo workerInfo = workerInfoOpt.get();
|
||||
@ -252,7 +252,7 @@ public class InstanceService {
|
||||
return detail;
|
||||
}
|
||||
|
||||
Optional<WorkerInfo> workerInfoOpt = WorkerManagerService.getWorkerInfo(instanceInfoDO.getAppId(), instanceInfoDO.getTaskTrackerAddress());
|
||||
Optional<WorkerInfo> workerInfoOpt = WorkerClusterManagerService.getWorkerInfo(instanceInfoDO.getAppId(), instanceInfoDO.getTaskTrackerAddress());
|
||||
if (workerInfoOpt.isPresent()) {
|
||||
WorkerInfo workerInfo = workerInfoOpt.get();
|
||||
ServerQueryInstanceStatusReq req = new ServerQueryInstanceStatusReq(instanceId);
|
||||
|
@ -6,7 +6,7 @@ import com.github.kfcfans.powerjob.server.common.utils.OmsFileUtils;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.repository.InstanceInfoRepository;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.repository.WorkflowInstanceInfoRepository;
|
||||
import com.github.kfcfans.powerjob.server.persistence.mongodb.GridFsManager;
|
||||
import com.github.kfcfans.powerjob.server.service.ha.WorkerManagerService;
|
||||
import com.github.kfcfans.powerjob.server.remote.worker.cluster.WorkerClusterManagerService;
|
||||
import com.github.kfcfans.powerjob.server.extension.LockService;
|
||||
import com.google.common.annotations.VisibleForTesting;
|
||||
import com.google.common.base.Stopwatch;
|
||||
@ -62,7 +62,7 @@ public class CleanService {
|
||||
public void timingClean() {
|
||||
|
||||
// 释放本地缓存
|
||||
WorkerManagerService.cleanUp();
|
||||
WorkerClusterManagerService.cleanUp();
|
||||
|
||||
// 释放磁盘空间
|
||||
cleanLocal(OmsFileUtils.genLogDirPath(), instanceInfoRetentionDay);
|
||||
|
@ -5,7 +5,7 @@ import com.github.kfcfans.powerjob.common.SystemInstanceResult;
|
||||
import com.github.kfcfans.powerjob.common.TimeExpressionType;
|
||||
import com.github.kfcfans.powerjob.common.WorkflowInstanceStatus;
|
||||
import com.github.kfcfans.powerjob.server.common.constans.SwitchableStatus;
|
||||
import com.github.kfcfans.powerjob.server.transport.starter.AkkaStarter;
|
||||
import com.github.kfcfans.powerjob.server.remote.transport.starter.AkkaStarter;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.model.*;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.repository.*;
|
||||
import com.github.kfcfans.powerjob.server.service.DispatchService;
|
||||
|
@ -2,7 +2,7 @@ package com.github.kfcfans.powerjob.server.service.timing.schedule;
|
||||
|
||||
import com.github.kfcfans.powerjob.common.InstanceStatus;
|
||||
import com.github.kfcfans.powerjob.common.TimeExpressionType;
|
||||
import com.github.kfcfans.powerjob.server.transport.starter.AkkaStarter;
|
||||
import com.github.kfcfans.powerjob.server.remote.transport.starter.AkkaStarter;
|
||||
import com.github.kfcfans.powerjob.server.common.constans.SwitchableStatus;
|
||||
import com.github.kfcfans.powerjob.server.common.utils.CronExpression;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.model.AppInfoDO;
|
||||
@ -14,7 +14,7 @@ import com.github.kfcfans.powerjob.server.persistence.core.repository.JobInfoRep
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.repository.WorkflowInfoRepository;
|
||||
import com.github.kfcfans.powerjob.server.service.DispatchService;
|
||||
import com.github.kfcfans.powerjob.server.service.JobService;
|
||||
import com.github.kfcfans.powerjob.server.service.ha.WorkerManagerService;
|
||||
import com.github.kfcfans.powerjob.server.remote.worker.cluster.WorkerClusterManagerService;
|
||||
import com.github.kfcfans.powerjob.server.service.instance.InstanceService;
|
||||
import com.github.kfcfans.powerjob.server.service.instance.InstanceTimeWheelService;
|
||||
import com.github.kfcfans.powerjob.server.service.workflow.WorkflowInstanceManager;
|
||||
@ -84,7 +84,7 @@ public class OmsScheduleService {
|
||||
}
|
||||
List<Long> allAppIds = allAppInfos.stream().map(AppInfoDO::getId).collect(Collectors.toList());
|
||||
// 清理不需要维护的数据
|
||||
WorkerManagerService.clean(allAppIds);
|
||||
WorkerClusterManagerService.clean(allAppIds);
|
||||
|
||||
// 调度 CRON 表达式 JOB
|
||||
try {
|
||||
|
@ -7,7 +7,7 @@ import com.github.kfcfans.powerjob.common.request.http.SaveWorkflowRequest;
|
||||
import com.github.kfcfans.powerjob.common.response.WorkflowInfoDTO;
|
||||
import com.github.kfcfans.powerjob.server.common.SJ;
|
||||
import com.github.kfcfans.powerjob.server.common.constans.SwitchableStatus;
|
||||
import com.github.kfcfans.powerjob.server.common.redirect.DesignateServer;
|
||||
import com.github.kfcfans.powerjob.server.remote.server.redirector.DesignateServer;
|
||||
import com.github.kfcfans.powerjob.server.common.utils.CronExpression;
|
||||
import com.github.kfcfans.powerjob.server.common.utils.WorkflowDAGUtils;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.model.WorkflowInfoDO;
|
||||
|
@ -2,7 +2,7 @@ package com.github.kfcfans.powerjob.server.web.controller;
|
||||
|
||||
import com.github.kfcfans.powerjob.common.OmsConstant;
|
||||
import com.github.kfcfans.powerjob.common.response.ResultDTO;
|
||||
import com.github.kfcfans.powerjob.server.transport.starter.AkkaStarter;
|
||||
import com.github.kfcfans.powerjob.server.remote.transport.starter.AkkaStarter;
|
||||
import com.github.kfcfans.powerjob.server.common.constans.ContainerSourceType;
|
||||
import com.github.kfcfans.powerjob.server.common.constans.SwitchableStatus;
|
||||
import com.github.kfcfans.powerjob.server.common.utils.ContainerTemplateGenerator;
|
||||
|
@ -8,8 +8,8 @@ import com.github.kfcfans.powerjob.common.utils.NetUtils;
|
||||
import com.github.kfcfans.powerjob.server.extension.ServerElectionService;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.model.AppInfoDO;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.repository.AppInfoRepository;
|
||||
import com.github.kfcfans.powerjob.server.service.ha.WorkerManagerService;
|
||||
import com.github.kfcfans.powerjob.server.transport.TransportService;
|
||||
import com.github.kfcfans.powerjob.server.remote.worker.cluster.WorkerClusterManagerService;
|
||||
import com.github.kfcfans.powerjob.server.remote.transport.TransportService;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
@ -56,9 +56,9 @@ public class ServerController {
|
||||
res.put("communicationSystemInfo", transportService.getProtocol2Transporter());
|
||||
res.put("serverTime", CommonUtils.formatTime(System.currentTimeMillis()));
|
||||
res.put("serverTimeZone", TimeZone.getDefault().getDisplayName());
|
||||
res.put("appIds", WorkerManagerService.getAppId2ClusterStatus().keySet());
|
||||
res.put("appIds", WorkerClusterManagerService.getAppId2ClusterStatus().keySet());
|
||||
if (debug) {
|
||||
res.put("appId2ClusterInfo", JSON.parseObject(JSON.toJSONString(WorkerManagerService.getAppId2ClusterStatus())));
|
||||
res.put("appId2ClusterInfo", JSON.parseObject(JSON.toJSONString(WorkerClusterManagerService.getAppId2ClusterStatus())));
|
||||
|
||||
}
|
||||
return ResultDTO.success(res);
|
||||
|
@ -5,12 +5,12 @@ import akka.pattern.Patterns;
|
||||
import com.github.kfcfans.powerjob.common.InstanceStatus;
|
||||
import com.github.kfcfans.powerjob.common.OmsConstant;
|
||||
import com.github.kfcfans.powerjob.common.RemoteConstant;
|
||||
import com.github.kfcfans.powerjob.common.model.WorkerInfo;
|
||||
import com.github.kfcfans.powerjob.server.remote.worker.cluster.WorkerInfo;
|
||||
import com.github.kfcfans.powerjob.common.response.AskResponse;
|
||||
import com.github.kfcfans.powerjob.common.response.ResultDTO;
|
||||
import com.github.kfcfans.powerjob.common.utils.JsonUtils;
|
||||
import com.github.kfcfans.powerjob.server.transport.starter.AkkaStarter;
|
||||
import com.github.kfcfans.powerjob.server.handler.inner.requests.FriendQueryWorkerClusterStatusReq;
|
||||
import com.github.kfcfans.powerjob.server.remote.transport.starter.AkkaStarter;
|
||||
import com.github.kfcfans.powerjob.server.remote.server.request.FriendQueryWorkerClusterStatusReq;
|
||||
import com.github.kfcfans.powerjob.server.common.constans.SwitchableStatus;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.model.AppInfoDO;
|
||||
import com.github.kfcfans.powerjob.server.persistence.core.repository.AppInfoRepository;
|
||||
|
@ -1,7 +1,7 @@
|
||||
package com.github.kfcfans.powerjob.server.web.response;
|
||||
|
||||
import com.github.kfcfans.powerjob.common.model.SystemMetrics;
|
||||
import com.github.kfcfans.powerjob.common.model.WorkerInfo;
|
||||
import com.github.kfcfans.powerjob.server.remote.worker.cluster.WorkerInfo;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user