mirror of
https://github.com/PowerJob/PowerJob.git
synced 2025-07-17 00:00:04 +08:00
refactor: optimize SwitchableStatus's package
This commit is contained in:
parent
5c49b8d8dd
commit
44ef76328b
@ -128,7 +128,8 @@ public class ClusterRequestServiceOkHttp3Impl extends AppAuthClusterRequestServi
|
||||
// 设置写的超时时间
|
||||
.writeTimeout(Optional.ofNullable(config.getReadTimeout()).orElse(DEFAULT_TIMEOUT_SECONDS), TimeUnit.SECONDS)
|
||||
// 设置连接超时时间
|
||||
.connectTimeout(Optional.ofNullable(config.getReadTimeout()).orElse(DEFAULT_TIMEOUT_SECONDS), TimeUnit.SECONDS);
|
||||
.connectTimeout(Optional.ofNullable(config.getReadTimeout()).orElse(DEFAULT_TIMEOUT_SECONDS), TimeUnit.SECONDS)
|
||||
.callTimeout(Optional.ofNullable(config.getReadTimeout()).orElse(DEFAULT_TIMEOUT_SECONDS), TimeUnit.SECONDS);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -1,4 +1,4 @@
|
||||
package tech.powerjob.server.common.constants;
|
||||
package tech.powerjob.common.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
@ -13,10 +13,16 @@ import lombok.Getter;
|
||||
@AllArgsConstructor
|
||||
public enum SwitchableStatus {
|
||||
/**
|
||||
*
|
||||
* 启用
|
||||
*/
|
||||
ENABLE(1),
|
||||
/**
|
||||
* 关闭
|
||||
*/
|
||||
DISABLE(2),
|
||||
/**
|
||||
* 软删除
|
||||
*/
|
||||
DELETED(99);
|
||||
|
||||
private final int v;
|
@ -22,7 +22,7 @@ import tech.powerjob.server.auth.login.*;
|
||||
import tech.powerjob.server.auth.service.login.LoginRequest;
|
||||
import tech.powerjob.server.auth.service.login.PowerJobLoginService;
|
||||
import tech.powerjob.server.common.Loggers;
|
||||
import tech.powerjob.server.common.constants.SwitchableStatus;
|
||||
import tech.powerjob.common.enums.SwitchableStatus;
|
||||
import tech.powerjob.server.persistence.remote.model.UserInfoDO;
|
||||
import tech.powerjob.server.persistence.remote.repository.UserInfoRepository;
|
||||
|
||||
|
@ -37,7 +37,7 @@ import tech.powerjob.common.utils.NetUtils;
|
||||
import tech.powerjob.common.utils.SegmentLock;
|
||||
import tech.powerjob.remote.framework.base.URL;
|
||||
import tech.powerjob.server.common.constants.ContainerSourceType;
|
||||
import tech.powerjob.server.common.constants.SwitchableStatus;
|
||||
import tech.powerjob.common.enums.SwitchableStatus;
|
||||
import tech.powerjob.server.common.module.WorkerInfo;
|
||||
import tech.powerjob.server.common.utils.OmsFileUtils;
|
||||
import tech.powerjob.server.extension.LockService;
|
||||
|
@ -12,7 +12,7 @@ import tech.powerjob.common.serialize.JsonUtils;
|
||||
import tech.powerjob.common.utils.NetUtils;
|
||||
import tech.powerjob.remote.framework.actor.Handler;
|
||||
import tech.powerjob.remote.framework.actor.ProcessType;
|
||||
import tech.powerjob.server.common.constants.SwitchableStatus;
|
||||
import tech.powerjob.common.enums.SwitchableStatus;
|
||||
import tech.powerjob.server.common.module.WorkerInfo;
|
||||
import tech.powerjob.server.common.utils.SpringUtils;
|
||||
import tech.powerjob.server.monitor.MonitorService;
|
||||
|
@ -12,7 +12,7 @@ import tech.powerjob.common.enums.InstanceStatus;
|
||||
import tech.powerjob.common.enums.TimeExpressionType;
|
||||
import tech.powerjob.common.enums.WorkflowInstanceStatus;
|
||||
import tech.powerjob.server.common.Holder;
|
||||
import tech.powerjob.server.common.constants.SwitchableStatus;
|
||||
import tech.powerjob.common.enums.SwitchableStatus;
|
||||
import tech.powerjob.server.core.DispatchService;
|
||||
import tech.powerjob.server.core.instance.InstanceManager;
|
||||
import tech.powerjob.server.core.workflow.WorkflowInstanceManager;
|
||||
|
@ -11,7 +11,7 @@ import org.springframework.util.CollectionUtils;
|
||||
import tech.powerjob.common.enums.InstanceStatus;
|
||||
import tech.powerjob.common.enums.TimeExpressionType;
|
||||
import tech.powerjob.common.model.LifeCycle;
|
||||
import tech.powerjob.server.common.constants.SwitchableStatus;
|
||||
import tech.powerjob.common.enums.SwitchableStatus;
|
||||
import tech.powerjob.server.common.timewheel.holder.InstanceTimeWheelService;
|
||||
import tech.powerjob.server.core.DispatchService;
|
||||
import tech.powerjob.server.core.instance.InstanceService;
|
||||
|
@ -18,7 +18,7 @@ import tech.powerjob.common.request.http.SaveJobInfoRequest;
|
||||
import tech.powerjob.common.response.JobInfoDTO;
|
||||
import tech.powerjob.common.serialize.JsonUtils;
|
||||
import tech.powerjob.server.common.SJ;
|
||||
import tech.powerjob.server.common.constants.SwitchableStatus;
|
||||
import tech.powerjob.common.enums.SwitchableStatus;
|
||||
import tech.powerjob.server.common.timewheel.holder.InstanceTimeWheelService;
|
||||
import tech.powerjob.server.core.DispatchService;
|
||||
import tech.powerjob.server.core.instance.InstanceService;
|
||||
|
@ -5,14 +5,12 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
import tech.powerjob.common.enums.WorkflowNodeType;
|
||||
import tech.powerjob.common.exception.PowerJobException;
|
||||
import tech.powerjob.server.common.constants.SwitchableStatus;
|
||||
import tech.powerjob.common.enums.SwitchableStatus;
|
||||
import tech.powerjob.server.core.workflow.algorithm.WorkflowDAG;
|
||||
import tech.powerjob.server.persistence.remote.model.JobInfoDO;
|
||||
import tech.powerjob.server.persistence.remote.model.WorkflowNodeInfoDO;
|
||||
import tech.powerjob.server.persistence.remote.repository.JobInfoRepository;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* @author Echo009
|
||||
* @since 2021/12/14
|
||||
|
@ -7,7 +7,7 @@ import org.springframework.stereotype.Component;
|
||||
import tech.powerjob.common.enums.WorkflowNodeType;
|
||||
import tech.powerjob.common.exception.PowerJobException;
|
||||
import tech.powerjob.common.model.PEWorkflowDAG;
|
||||
import tech.powerjob.server.common.constants.SwitchableStatus;
|
||||
import tech.powerjob.common.enums.SwitchableStatus;
|
||||
import tech.powerjob.server.core.workflow.algorithm.WorkflowDAG;
|
||||
import tech.powerjob.server.persistence.remote.model.WorkflowInfoDO;
|
||||
import tech.powerjob.server.persistence.remote.model.WorkflowNodeInfoDO;
|
||||
|
@ -18,7 +18,7 @@ import tech.powerjob.common.exception.PowerJobException;
|
||||
import tech.powerjob.common.model.PEWorkflowDAG;
|
||||
import tech.powerjob.common.serialize.JsonUtils;
|
||||
import tech.powerjob.common.utils.CommonUtils;
|
||||
import tech.powerjob.server.common.constants.SwitchableStatus;
|
||||
import tech.powerjob.common.enums.SwitchableStatus;
|
||||
import tech.powerjob.server.common.utils.SpringUtils;
|
||||
import tech.powerjob.server.core.alarm.AlarmUtils;
|
||||
import tech.powerjob.server.core.helper.StatusMappingHelper;
|
||||
|
@ -12,7 +12,7 @@ import tech.powerjob.common.enums.WorkflowNodeType;
|
||||
import tech.powerjob.common.exception.PowerJobException;
|
||||
import tech.powerjob.common.model.PEWorkflowDAG;
|
||||
import tech.powerjob.common.response.WorkflowInstanceInfoDTO;
|
||||
import tech.powerjob.server.common.constants.SwitchableStatus;
|
||||
import tech.powerjob.common.enums.SwitchableStatus;
|
||||
import tech.powerjob.server.common.utils.SpringUtils;
|
||||
import tech.powerjob.server.core.instance.InstanceService;
|
||||
import tech.powerjob.server.core.lock.UseCacheLock;
|
||||
|
@ -15,7 +15,7 @@ import tech.powerjob.common.model.PEWorkflowDAG;
|
||||
import tech.powerjob.common.request.http.SaveWorkflowNodeRequest;
|
||||
import tech.powerjob.common.request.http.SaveWorkflowRequest;
|
||||
import tech.powerjob.server.common.SJ;
|
||||
import tech.powerjob.server.common.constants.SwitchableStatus;
|
||||
import tech.powerjob.common.enums.SwitchableStatus;
|
||||
import tech.powerjob.server.common.timewheel.holder.InstanceTimeWheelService;
|
||||
import tech.powerjob.server.core.scheduler.TimingStrategyService;
|
||||
import tech.powerjob.server.core.service.NodeValidateService;
|
||||
|
@ -11,7 +11,7 @@ import tech.powerjob.common.enums.WorkflowNodeType;
|
||||
import tech.powerjob.common.exception.PowerJobException;
|
||||
import tech.powerjob.common.model.PEWorkflowDAG;
|
||||
import tech.powerjob.common.utils.CommonUtils;
|
||||
import tech.powerjob.server.common.constants.SwitchableStatus;
|
||||
import tech.powerjob.common.enums.SwitchableStatus;
|
||||
import tech.powerjob.server.common.utils.SpringUtils;
|
||||
import tech.powerjob.server.core.workflow.WorkflowInstanceManager;
|
||||
import tech.powerjob.server.core.workflow.algorithm.WorkflowDAGUtils;
|
||||
|
@ -17,8 +17,7 @@ import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.core.env.Environment;
|
||||
import tech.powerjob.common.serialize.JsonUtils;
|
||||
import tech.powerjob.common.utils.CommonUtils;
|
||||
import tech.powerjob.common.utils.NetUtils;
|
||||
import tech.powerjob.server.common.constants.SwitchableStatus;
|
||||
import tech.powerjob.common.enums.SwitchableStatus;
|
||||
import tech.powerjob.server.common.spring.condition.PropertyAndOneBeanCondition;
|
||||
import tech.powerjob.server.extension.dfs.*;
|
||||
import tech.powerjob.server.persistence.storage.AbstractDFsService;
|
||||
|
@ -17,7 +17,7 @@ import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.core.env.Environment;
|
||||
import tech.powerjob.common.serialize.JsonUtils;
|
||||
import tech.powerjob.common.utils.CommonUtils;
|
||||
import tech.powerjob.server.common.constants.SwitchableStatus;
|
||||
import tech.powerjob.common.enums.SwitchableStatus;
|
||||
import tech.powerjob.server.common.spring.condition.PropertyAndOneBeanCondition;
|
||||
import tech.powerjob.server.extension.dfs.DFsService;
|
||||
import tech.powerjob.server.extension.dfs.DownloadRequest;
|
||||
|
@ -12,7 +12,7 @@ import tech.powerjob.server.auth.Permission;
|
||||
import tech.powerjob.server.auth.RoleScope;
|
||||
import tech.powerjob.server.auth.interceptor.ApiPermission;
|
||||
import tech.powerjob.server.common.constants.ContainerSourceType;
|
||||
import tech.powerjob.server.common.constants.SwitchableStatus;
|
||||
import tech.powerjob.common.enums.SwitchableStatus;
|
||||
import tech.powerjob.server.common.utils.OmsFileUtils;
|
||||
import tech.powerjob.server.core.container.ContainerService;
|
||||
import tech.powerjob.server.core.container.ContainerTemplateGenerator;
|
||||
|
@ -6,7 +6,7 @@ import tech.powerjob.common.response.ResultDTO;
|
||||
import tech.powerjob.server.auth.Permission;
|
||||
import tech.powerjob.server.auth.RoleScope;
|
||||
import tech.powerjob.server.auth.interceptor.ApiPermission;
|
||||
import tech.powerjob.server.common.constants.SwitchableStatus;
|
||||
import tech.powerjob.common.enums.SwitchableStatus;
|
||||
import tech.powerjob.server.persistence.PageResult;
|
||||
import tech.powerjob.server.persistence.remote.model.JobInfoDO;
|
||||
import tech.powerjob.server.persistence.remote.repository.JobInfoRepository;
|
||||
|
@ -13,7 +13,7 @@ import tech.powerjob.common.response.ResultDTO;
|
||||
import tech.powerjob.server.auth.Permission;
|
||||
import tech.powerjob.server.auth.RoleScope;
|
||||
import tech.powerjob.server.auth.interceptor.ApiPermission;
|
||||
import tech.powerjob.server.common.constants.SwitchableStatus;
|
||||
import tech.powerjob.common.enums.SwitchableStatus;
|
||||
import tech.powerjob.server.common.module.WorkerInfo;
|
||||
import tech.powerjob.server.persistence.remote.model.AppInfoDO;
|
||||
import tech.powerjob.server.persistence.remote.repository.AppInfoRepository;
|
||||
|
@ -20,7 +20,7 @@ import tech.powerjob.server.auth.common.PowerJobAuthException;
|
||||
import tech.powerjob.server.auth.interceptor.ApiPermission;
|
||||
import tech.powerjob.server.auth.service.WebAuthService;
|
||||
import tech.powerjob.server.auth.service.login.PowerJobLoginService;
|
||||
import tech.powerjob.server.common.constants.SwitchableStatus;
|
||||
import tech.powerjob.common.enums.SwitchableStatus;
|
||||
import tech.powerjob.server.persistence.remote.model.AppInfoDO;
|
||||
import tech.powerjob.server.persistence.remote.model.NamespaceDO;
|
||||
import tech.powerjob.server.persistence.remote.model.UserInfoDO;
|
||||
|
@ -11,7 +11,7 @@ import tech.powerjob.common.response.ResultDTO;
|
||||
import tech.powerjob.server.auth.Permission;
|
||||
import tech.powerjob.server.auth.RoleScope;
|
||||
import tech.powerjob.server.auth.interceptor.ApiPermission;
|
||||
import tech.powerjob.server.common.constants.SwitchableStatus;
|
||||
import tech.powerjob.common.enums.SwitchableStatus;
|
||||
import tech.powerjob.server.core.workflow.WorkflowService;
|
||||
import tech.powerjob.server.persistence.PageResult;
|
||||
import tech.powerjob.server.persistence.remote.model.WorkflowInfoDO;
|
||||
|
@ -2,7 +2,7 @@ package tech.powerjob.server.web.converter;
|
||||
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import tech.powerjob.common.utils.CommonUtils;
|
||||
import tech.powerjob.server.common.constants.SwitchableStatus;
|
||||
import tech.powerjob.common.enums.SwitchableStatus;
|
||||
import tech.powerjob.server.persistence.remote.model.NamespaceDO;
|
||||
import tech.powerjob.server.web.response.NamespaceBaseVO;
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
package tech.powerjob.server.web.converter;
|
||||
|
||||
import tech.powerjob.server.common.constants.SwitchableStatus;
|
||||
import tech.powerjob.common.enums.SwitchableStatus;
|
||||
import tech.powerjob.server.persistence.remote.model.UserInfoDO;
|
||||
import tech.powerjob.server.web.response.UserBaseVO;
|
||||
|
||||
|
@ -2,7 +2,7 @@ package tech.powerjob.server.web.request;
|
||||
|
||||
import tech.powerjob.common.utils.CommonUtils;
|
||||
import tech.powerjob.server.common.constants.ContainerSourceType;
|
||||
import tech.powerjob.server.common.constants.SwitchableStatus;
|
||||
import tech.powerjob.common.enums.SwitchableStatus;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
|
@ -13,7 +13,7 @@ import tech.powerjob.common.model.LifeCycle;
|
||||
import tech.powerjob.common.utils.CommonUtils;
|
||||
import tech.powerjob.server.common.SJ;
|
||||
import tech.powerjob.common.enums.DispatchStrategy;
|
||||
import tech.powerjob.server.common.constants.SwitchableStatus;
|
||||
import tech.powerjob.common.enums.SwitchableStatus;
|
||||
import tech.powerjob.server.persistence.remote.model.JobInfoDO;
|
||||
import com.google.common.collect.Lists;
|
||||
import lombok.Data;
|
||||
|
@ -6,7 +6,7 @@ import tech.powerjob.common.enums.TimeExpressionType;
|
||||
import tech.powerjob.common.model.LifeCycle;
|
||||
import tech.powerjob.common.model.PEWorkflowDAG;
|
||||
import tech.powerjob.server.common.SJ;
|
||||
import tech.powerjob.server.common.constants.SwitchableStatus;
|
||||
import tech.powerjob.common.enums.SwitchableStatus;
|
||||
import tech.powerjob.server.persistence.remote.model.WorkflowInfoDO;
|
||||
import lombok.Data;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
|
@ -13,7 +13,7 @@ import tech.powerjob.server.auth.LoginUserHolder;
|
||||
import tech.powerjob.server.auth.RoleScope;
|
||||
import tech.powerjob.server.auth.service.WebAuthService;
|
||||
import tech.powerjob.server.common.SJ;
|
||||
import tech.powerjob.server.common.constants.SwitchableStatus;
|
||||
import tech.powerjob.common.enums.SwitchableStatus;
|
||||
import tech.powerjob.server.persistence.QueryConvertUtils;
|
||||
import tech.powerjob.server.persistence.remote.model.AppInfoDO;
|
||||
import tech.powerjob.server.persistence.remote.model.NamespaceDO;
|
||||
|
@ -5,13 +5,12 @@ import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.test.annotation.Rollback;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import tech.powerjob.common.enums.InstanceStatus;
|
||||
import tech.powerjob.common.enums.TimeExpressionType;
|
||||
import tech.powerjob.common.enums.WorkflowInstanceStatus;
|
||||
import tech.powerjob.common.utils.NetUtils;
|
||||
import tech.powerjob.server.common.constants.SwitchableStatus;
|
||||
import tech.powerjob.common.enums.SwitchableStatus;
|
||||
import tech.powerjob.server.persistence.remote.model.InstanceInfoDO;
|
||||
import tech.powerjob.server.persistence.remote.model.JobInfoDO;
|
||||
import tech.powerjob.server.persistence.remote.model.OmsLockDO;
|
||||
|
@ -20,6 +20,7 @@
|
||||
|
||||
<!-- 部署时跳过该module -->
|
||||
<maven.deploy.skip>true</maven.deploy.skip>
|
||||
<powerjob-client.version>5.1.0</powerjob-client.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
@ -59,6 +60,12 @@
|
||||
<version>${powerjob.official.processors.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>tech.powerjob</groupId>
|
||||
<artifactId>powerjob-client</artifactId>
|
||||
<version>${powerjob-client.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- 高版本 JDK 移除了 JavaEE 的包,需要手动引入 -->
|
||||
<dependency>
|
||||
<groupId>javax.xml.bind</groupId>
|
||||
|
@ -0,0 +1,194 @@
|
||||
package tech.powerjob.samples.tester;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import lombok.Data;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
import tech.powerjob.client.ClientConfig;
|
||||
import tech.powerjob.client.IPowerJobClient;
|
||||
import tech.powerjob.client.PowerJobClient;
|
||||
import tech.powerjob.common.enums.ExecuteType;
|
||||
import tech.powerjob.common.enums.ProcessorType;
|
||||
import tech.powerjob.common.enums.SwitchableStatus;
|
||||
import tech.powerjob.common.enums.TimeExpressionType;
|
||||
import tech.powerjob.common.request.http.SaveJobInfoRequest;
|
||||
import tech.powerjob.common.response.InstanceInfoDTO;
|
||||
import tech.powerjob.common.response.JobInfoDTO;
|
||||
import tech.powerjob.common.response.ResultDTO;
|
||||
import tech.powerjob.official.processors.util.CommonUtils;
|
||||
import tech.powerjob.worker.core.processor.ProcessResult;
|
||||
import tech.powerjob.worker.core.processor.TaskContext;
|
||||
import tech.powerjob.worker.core.processor.sdk.BasicProcessor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* 测试 OpenAPI
|
||||
*
|
||||
* @author tjq
|
||||
* @since 2024/8/11
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class OpenApiTester implements BasicProcessor {
|
||||
|
||||
private final Map<String, IPowerJobClient> clientCache = Maps.newHashMap();
|
||||
|
||||
private static final String NEW_JOB_PARAMS = "{'aa':'bb'}";
|
||||
private static final String RUN_INSTANCE_PARAMS = "{'key':'value'}";
|
||||
|
||||
private static final int NEW_JOB_MAX_INSTANCE_NUM = 9;
|
||||
|
||||
@Override
|
||||
public ProcessResult process(TaskContext context) throws Exception {
|
||||
|
||||
IPowerJobClient client = fetchClient(context);
|
||||
|
||||
SaveJobInfoRequest saveJobInfoRequest = buildSaveJobInfoRequest();
|
||||
|
||||
context.getOmsLogger().info("[newJob] saveJobInfoRequest: {}", JSONObject.toJSONString(saveJobInfoRequest));
|
||||
ResultDTO<Long> saveJobResult = client.saveJob(saveJobInfoRequest);
|
||||
context.getOmsLogger().info("[newJob] RESPONSE: {}", JSONObject.toJSONString(saveJobResult));
|
||||
Long createdJobId = fetchResultData(saveJobResult);
|
||||
|
||||
|
||||
// 测试导出
|
||||
ResultDTO<SaveJobInfoRequest> exportJobResult = client.exportJob(createdJobId);
|
||||
context.getOmsLogger().info("[exportJob] exportJobResult: {}", JSONObject.toJSONString(exportJobResult));
|
||||
SaveJobInfoRequest exportJobInfo = fetchResultData(exportJobResult);
|
||||
assert exportJobInfo.getJobParams().equals(saveJobInfoRequest.getJobParams());
|
||||
assert exportJobInfo.getMaxInstanceNum().equals(saveJobInfoRequest.getMaxInstanceNum());
|
||||
|
||||
// 测试复制
|
||||
context.getOmsLogger().info("[copyJob] sourceJobId: {}", createdJobId);
|
||||
ResultDTO<Long> copyJobResult = client.copyJob(createdJobId);
|
||||
context.getOmsLogger().info("[copyJob] copyJobResult: {}", JSONObject.toJSONString(copyJobResult));
|
||||
|
||||
Long copiedJobId = fetchResultData(copyJobResult);
|
||||
|
||||
context.getOmsLogger().info("[disableJob] targetJobId: {}", copiedJobId);
|
||||
ResultDTO<Void> disableJobResult = client.disableJob(copiedJobId);
|
||||
fetchResultData(disableJobResult);
|
||||
context.getOmsLogger().info("[disableJob] disableJobResult: {}", disableJobResult);
|
||||
|
||||
ResultDTO<JobInfoDTO> createdJobInfoResult = client.fetchJob(createdJobId);
|
||||
context.getOmsLogger().info("[fetchJob] createdJobInfo: {}", JSONObject.toJSONString(createdJobInfoResult));
|
||||
ResultDTO<JobInfoDTO> copiedJobInfoResult = client.fetchJob(copiedJobId);
|
||||
context.getOmsLogger().info("[fetchJob] copiedJobInfo: {}", JSONObject.toJSONString(copiedJobInfoResult));
|
||||
|
||||
JobInfoDTO createdJob = fetchResultData(createdJobInfoResult);
|
||||
JobInfoDTO copiedJob = fetchResultData(copiedJobInfoResult);
|
||||
|
||||
assert createdJob.getJobParams().equals(copiedJob.getJobParams());
|
||||
assert createdJob.getMaxInstanceNum().equals(copiedJob.getMaxInstanceNum());
|
||||
assert copiedJob.getStatus() == SwitchableStatus.DISABLE.getV();
|
||||
|
||||
ResultDTO<Void> enableJobResult = client.enableJob(copiedJob.getId());
|
||||
fetchResultData(enableJobResult);
|
||||
context.getOmsLogger().info("[enableJob] enableJobResult: {}", JSONObject.toJSONString(enableJobResult));
|
||||
|
||||
// 再次查询验证 enable
|
||||
ResultDTO<JobInfoDTO> copiedJobInfoResult2 = client.fetchJob(copiedJobId);
|
||||
context.getOmsLogger().info("[fetchJob] copiedJobInfoResult2: {}", JSONObject.toJSONString(copiedJobInfoResult2));
|
||||
JobInfoDTO copiedJob2 = fetchResultData(copiedJobInfoResult2);
|
||||
assert copiedJob2.getStatus() == SwitchableStatus.ENABLE.getV();
|
||||
|
||||
// 删除拷贝出来的任务
|
||||
ResultDTO<Void> deleteJobResult = client.deleteJob(copiedJobId);
|
||||
context.getOmsLogger().info("[deleteJob] deleteJobResult: {}", JSONObject.toJSONString(deleteJobResult));
|
||||
fetchResultData(deleteJobResult);
|
||||
|
||||
// 执行任务
|
||||
ResultDTO<Long> runJobResult = client.runJob(createdJobId, RUN_INSTANCE_PARAMS, 0);
|
||||
context.getOmsLogger().info("[runJob] runJobResult: {}", JSONObject.toJSONString(runJobResult));
|
||||
Long instanceId = fetchResultData(runJobResult);
|
||||
|
||||
// 等10S,理论上应该能执行完成
|
||||
Thread.sleep(10000);
|
||||
|
||||
// 查询任务详情和状态
|
||||
ResultDTO<InstanceInfoDTO> fetchInstanceInfoResult = client.fetchInstanceInfo(instanceId);
|
||||
context.getOmsLogger().info("[fetchInstanceInfo] fetchInstanceInfoResult: {}", JSONObject.toJSONString(fetchInstanceInfoResult));
|
||||
InstanceInfoDTO instanceInfoDTO = fetchResultData(fetchInstanceInfoResult);
|
||||
|
||||
ResultDTO<Integer> fetchInstanceStatusResult = client.fetchInstanceStatus(instanceId);
|
||||
context.getOmsLogger().info("[fetchInstanceStatus] fetchInstanceStatusResult: {}", JSONObject.toJSONString(fetchInstanceStatusResult));
|
||||
Integer instanceStatus = fetchResultData(fetchInstanceStatusResult);
|
||||
assert instanceInfoDTO.getStatus() == instanceStatus;
|
||||
|
||||
// 回收全部资源
|
||||
ResultDTO<Void> deleteCreatedJobResult = client.deleteJob(createdJobId);
|
||||
context.getOmsLogger().info("[deleteJob] deleteCreatedJobResult: {}", JSONObject.toJSONString(deleteCreatedJobResult));
|
||||
fetchResultData(deleteCreatedJobResult);
|
||||
|
||||
return new ProcessResult(true);
|
||||
}
|
||||
|
||||
private static <T> T fetchResultData(ResultDTO<T> resultDTO) {
|
||||
if (resultDTO.isSuccess()) {
|
||||
return resultDTO.getData();
|
||||
}
|
||||
throw new RuntimeException(resultDTO.getMessage());
|
||||
}
|
||||
|
||||
private SaveJobInfoRequest buildSaveJobInfoRequest() {
|
||||
|
||||
SaveJobInfoRequest newJobInfo = new SaveJobInfoRequest();
|
||||
|
||||
newJobInfo.setJobName("JobCreateByOpenAPI");
|
||||
newJobInfo.setJobDescription("Timestamp: " + System.currentTimeMillis());
|
||||
newJobInfo.setJobParams(NEW_JOB_PARAMS);
|
||||
newJobInfo.setTimeExpressionType(TimeExpressionType.API);
|
||||
newJobInfo.setExecuteType(ExecuteType.STANDALONE);
|
||||
newJobInfo.setProcessorType(ProcessorType.BUILT_IN);
|
||||
newJobInfo.setProcessorInfo("tech.powerjob.samples.processors.StandaloneProcessorDemo");
|
||||
|
||||
newJobInfo.setMaxInstanceNum(NEW_JOB_MAX_INSTANCE_NUM);
|
||||
|
||||
newJobInfo.setMinCpuCores(0.01);
|
||||
newJobInfo.setMinMemorySpace(0.02);
|
||||
newJobInfo.setMinDiskSpace(0.03);
|
||||
|
||||
return newJobInfo;
|
||||
}
|
||||
|
||||
private IPowerJobClient fetchClient(TaskContext context) {
|
||||
String params = CommonUtils.parseParams(context);
|
||||
Config clientConfig = Optional.ofNullable(params).map(x -> JSONObject.parseObject(params, Config.class)).orElse(new Config());
|
||||
|
||||
String appName = Optional.ofNullable(clientConfig.getAppName()).orElse("powerjob-worker-samples");
|
||||
String password = Optional.ofNullable(clientConfig.getPassword()).orElse("powerjob123");
|
||||
List<String> addressList = Optional.ofNullable(clientConfig.getAddressList()).orElse(Lists.newArrayList("127.0.0.1:7700", "127.0.0.1:7701"));
|
||||
|
||||
String key = String.format("client_%s_%s_%s", appName, password, addressList);
|
||||
|
||||
return clientCache.computeIfAbsent(key, ignore -> initPowerJobClient(appName, password, addressList));
|
||||
}
|
||||
|
||||
private IPowerJobClient initPowerJobClient(String appName, String password, List<String> addressList) {
|
||||
|
||||
ClientConfig config = new ClientConfig();
|
||||
config.setAppName(appName);
|
||||
config.setPassword(password);
|
||||
config.setAddressList(addressList);
|
||||
|
||||
log.info("[OpenApiTester] initPowerJobClient, config: {}", config);
|
||||
|
||||
return new PowerJobClient(config);
|
||||
}
|
||||
|
||||
|
||||
@Data
|
||||
public static class Config implements Serializable {
|
||||
private String appName;
|
||||
|
||||
private String password;
|
||||
|
||||
private List<String> addressList;
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user