diff --git a/powerjob-client/src/main/java/tech/powerjob/client/service/impl/ClusterRequestServiceOkHttp3Impl.java b/powerjob-client/src/main/java/tech/powerjob/client/service/impl/ClusterRequestServiceOkHttp3Impl.java index 970e4b2f..1c05289d 100644 --- a/powerjob-client/src/main/java/tech/powerjob/client/service/impl/ClusterRequestServiceOkHttp3Impl.java +++ b/powerjob-client/src/main/java/tech/powerjob/client/service/impl/ClusterRequestServiceOkHttp3Impl.java @@ -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 diff --git a/powerjob-server/powerjob-server-common/src/main/java/tech/powerjob/server/common/constants/SwitchableStatus.java b/powerjob-common/src/main/java/tech/powerjob/common/enums/SwitchableStatus.java similarity index 84% rename from powerjob-server/powerjob-server-common/src/main/java/tech/powerjob/server/common/constants/SwitchableStatus.java rename to powerjob-common/src/main/java/tech/powerjob/common/enums/SwitchableStatus.java index e143553c..e01300b6 100644 --- a/powerjob-server/powerjob-server-common/src/main/java/tech/powerjob/server/common/constants/SwitchableStatus.java +++ b/powerjob-common/src/main/java/tech/powerjob/common/enums/SwitchableStatus.java @@ -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; diff --git a/powerjob-server/powerjob-server-auth/src/main/java/tech/powerjob/server/auth/service/login/impl/PowerJobLoginServiceImpl.java b/powerjob-server/powerjob-server-auth/src/main/java/tech/powerjob/server/auth/service/login/impl/PowerJobLoginServiceImpl.java index 23cba78d..819cabcf 100644 --- a/powerjob-server/powerjob-server-auth/src/main/java/tech/powerjob/server/auth/service/login/impl/PowerJobLoginServiceImpl.java +++ b/powerjob-server/powerjob-server-auth/src/main/java/tech/powerjob/server/auth/service/login/impl/PowerJobLoginServiceImpl.java @@ -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; diff --git a/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/container/ContainerService.java b/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/container/ContainerService.java index beeae815..9468ea99 100644 --- a/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/container/ContainerService.java +++ b/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/container/ContainerService.java @@ -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; diff --git a/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/handler/AbWorkerRequestHandler.java b/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/handler/AbWorkerRequestHandler.java index 13065d1e..595f135d 100644 --- a/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/handler/AbWorkerRequestHandler.java +++ b/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/handler/AbWorkerRequestHandler.java @@ -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; diff --git a/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/scheduler/InstanceStatusCheckService.java b/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/scheduler/InstanceStatusCheckService.java index a6674c6d..951d37ed 100644 --- a/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/scheduler/InstanceStatusCheckService.java +++ b/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/scheduler/InstanceStatusCheckService.java @@ -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; diff --git a/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/scheduler/PowerScheduleService.java b/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/scheduler/PowerScheduleService.java index 1b4fd5e8..7ab429d6 100644 --- a/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/scheduler/PowerScheduleService.java +++ b/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/scheduler/PowerScheduleService.java @@ -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; diff --git a/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/service/impl/job/JobServiceImpl.java b/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/service/impl/job/JobServiceImpl.java index 6ed9e9ce..550c7f68 100644 --- a/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/service/impl/job/JobServiceImpl.java +++ b/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/service/impl/job/JobServiceImpl.java @@ -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; diff --git a/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/validator/JobNodeValidator.java b/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/validator/JobNodeValidator.java index 7765aec8..aedf5c33 100644 --- a/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/validator/JobNodeValidator.java +++ b/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/validator/JobNodeValidator.java @@ -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 diff --git a/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/validator/NestedWorkflowNodeValidator.java b/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/validator/NestedWorkflowNodeValidator.java index 0c22fa1b..b257c80c 100644 --- a/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/validator/NestedWorkflowNodeValidator.java +++ b/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/validator/NestedWorkflowNodeValidator.java @@ -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; diff --git a/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/workflow/WorkflowInstanceManager.java b/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/workflow/WorkflowInstanceManager.java index 2c6cdd78..1dde853f 100644 --- a/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/workflow/WorkflowInstanceManager.java +++ b/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/workflow/WorkflowInstanceManager.java @@ -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; diff --git a/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/workflow/WorkflowInstanceService.java b/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/workflow/WorkflowInstanceService.java index 047a706d..93c1d7c0 100644 --- a/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/workflow/WorkflowInstanceService.java +++ b/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/workflow/WorkflowInstanceService.java @@ -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; diff --git a/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/workflow/WorkflowService.java b/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/workflow/WorkflowService.java index 3a86cfb5..f6e2c701 100644 --- a/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/workflow/WorkflowService.java +++ b/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/workflow/WorkflowService.java @@ -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; diff --git a/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/workflow/hanlder/impl/NestedWorkflowNodeHandler.java b/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/workflow/hanlder/impl/NestedWorkflowNodeHandler.java index b08413a6..12b1e5d4 100644 --- a/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/workflow/hanlder/impl/NestedWorkflowNodeHandler.java +++ b/powerjob-server/powerjob-server-core/src/main/java/tech/powerjob/server/core/workflow/hanlder/impl/NestedWorkflowNodeHandler.java @@ -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; diff --git a/powerjob-server/powerjob-server-persistence/src/main/java/tech/powerjob/server/persistence/storage/impl/MySqlSeriesDfsService.java b/powerjob-server/powerjob-server-persistence/src/main/java/tech/powerjob/server/persistence/storage/impl/MySqlSeriesDfsService.java index fb79b3e7..fe138ebb 100644 --- a/powerjob-server/powerjob-server-persistence/src/main/java/tech/powerjob/server/persistence/storage/impl/MySqlSeriesDfsService.java +++ b/powerjob-server/powerjob-server-persistence/src/main/java/tech/powerjob/server/persistence/storage/impl/MySqlSeriesDfsService.java @@ -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; diff --git a/powerjob-server/powerjob-server-persistence/src/main/java/tech/powerjob/server/persistence/storage/impl/PostgresqlSeriesDfsService.java b/powerjob-server/powerjob-server-persistence/src/main/java/tech/powerjob/server/persistence/storage/impl/PostgresqlSeriesDfsService.java index 4e7f4ebb..95644ff9 100644 --- a/powerjob-server/powerjob-server-persistence/src/main/java/tech/powerjob/server/persistence/storage/impl/PostgresqlSeriesDfsService.java +++ b/powerjob-server/powerjob-server-persistence/src/main/java/tech/powerjob/server/persistence/storage/impl/PostgresqlSeriesDfsService.java @@ -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; diff --git a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/controller/ContainerController.java b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/controller/ContainerController.java index 361a881f..98f1ef6f 100644 --- a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/controller/ContainerController.java +++ b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/controller/ContainerController.java @@ -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; diff --git a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/controller/JobController.java b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/controller/JobController.java index ee8276ff..74431895 100644 --- a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/controller/JobController.java +++ b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/controller/JobController.java @@ -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; diff --git a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/controller/SystemInfoController.java b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/controller/SystemInfoController.java index 6621a7bd..fc180187 100644 --- a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/controller/SystemInfoController.java +++ b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/controller/SystemInfoController.java @@ -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; diff --git a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/controller/UserInfoController.java b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/controller/UserInfoController.java index 1410f183..8dcb6687 100644 --- a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/controller/UserInfoController.java +++ b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/controller/UserInfoController.java @@ -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; diff --git a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/controller/WorkflowController.java b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/controller/WorkflowController.java index 93b217cb..09e735e4 100644 --- a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/controller/WorkflowController.java +++ b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/controller/WorkflowController.java @@ -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; diff --git a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/converter/NamespaceConverter.java b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/converter/NamespaceConverter.java index e5840c87..ed2852c3 100644 --- a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/converter/NamespaceConverter.java +++ b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/converter/NamespaceConverter.java @@ -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; diff --git a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/converter/UserConverter.java b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/converter/UserConverter.java index c69048dd..283ba46f 100644 --- a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/converter/UserConverter.java +++ b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/converter/UserConverter.java @@ -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; diff --git a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/request/SaveContainerInfoRequest.java b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/request/SaveContainerInfoRequest.java index aa734c14..ae812cc2 100644 --- a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/request/SaveContainerInfoRequest.java +++ b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/request/SaveContainerInfoRequest.java @@ -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; /** diff --git a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/response/JobInfoVO.java b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/response/JobInfoVO.java index 61c3a084..1a2ec656 100644 --- a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/response/JobInfoVO.java +++ b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/response/JobInfoVO.java @@ -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; diff --git a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/response/WorkflowInfoVO.java b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/response/WorkflowInfoVO.java index bfdcd92c..09c74033 100644 --- a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/response/WorkflowInfoVO.java +++ b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/response/WorkflowInfoVO.java @@ -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; diff --git a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/service/impl/NamespaceWebServiceImpl.java b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/service/impl/NamespaceWebServiceImpl.java index 42266fc5..e504bc81 100644 --- a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/service/impl/NamespaceWebServiceImpl.java +++ b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/web/service/impl/NamespaceWebServiceImpl.java @@ -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; diff --git a/powerjob-server/powerjob-server-starter/src/test/java/tech/powerjob/server/test/RepositoryTest.java b/powerjob-server/powerjob-server-starter/src/test/java/tech/powerjob/server/test/RepositoryTest.java index 0397ab92..5f576f67 100644 --- a/powerjob-server/powerjob-server-starter/src/test/java/tech/powerjob/server/test/RepositoryTest.java +++ b/powerjob-server/powerjob-server-starter/src/test/java/tech/powerjob/server/test/RepositoryTest.java @@ -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; diff --git a/powerjob-worker-samples/pom.xml b/powerjob-worker-samples/pom.xml index 847d4ccc..44cc3f7e 100644 --- a/powerjob-worker-samples/pom.xml +++ b/powerjob-worker-samples/pom.xml @@ -20,6 +20,7 @@ true + 5.1.0 @@ -59,6 +60,12 @@ ${powerjob.official.processors.version} + + tech.powerjob + powerjob-client + ${powerjob-client.version} + + javax.xml.bind diff --git a/powerjob-worker-samples/src/main/java/tech/powerjob/samples/tester/OpenApiTester.java b/powerjob-worker-samples/src/main/java/tech/powerjob/samples/tester/OpenApiTester.java new file mode 100644 index 00000000..782631bb --- /dev/null +++ b/powerjob-worker-samples/src/main/java/tech/powerjob/samples/tester/OpenApiTester.java @@ -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 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 saveJobResult = client.saveJob(saveJobInfoRequest); + context.getOmsLogger().info("[newJob] RESPONSE: {}", JSONObject.toJSONString(saveJobResult)); + Long createdJobId = fetchResultData(saveJobResult); + + + // 测试导出 + ResultDTO 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 copyJobResult = client.copyJob(createdJobId); + context.getOmsLogger().info("[copyJob] copyJobResult: {}", JSONObject.toJSONString(copyJobResult)); + + Long copiedJobId = fetchResultData(copyJobResult); + + context.getOmsLogger().info("[disableJob] targetJobId: {}", copiedJobId); + ResultDTO disableJobResult = client.disableJob(copiedJobId); + fetchResultData(disableJobResult); + context.getOmsLogger().info("[disableJob] disableJobResult: {}", disableJobResult); + + ResultDTO createdJobInfoResult = client.fetchJob(createdJobId); + context.getOmsLogger().info("[fetchJob] createdJobInfo: {}", JSONObject.toJSONString(createdJobInfoResult)); + ResultDTO 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 enableJobResult = client.enableJob(copiedJob.getId()); + fetchResultData(enableJobResult); + context.getOmsLogger().info("[enableJob] enableJobResult: {}", JSONObject.toJSONString(enableJobResult)); + + // 再次查询验证 enable + ResultDTO copiedJobInfoResult2 = client.fetchJob(copiedJobId); + context.getOmsLogger().info("[fetchJob] copiedJobInfoResult2: {}", JSONObject.toJSONString(copiedJobInfoResult2)); + JobInfoDTO copiedJob2 = fetchResultData(copiedJobInfoResult2); + assert copiedJob2.getStatus() == SwitchableStatus.ENABLE.getV(); + + // 删除拷贝出来的任务 + ResultDTO deleteJobResult = client.deleteJob(copiedJobId); + context.getOmsLogger().info("[deleteJob] deleteJobResult: {}", JSONObject.toJSONString(deleteJobResult)); + fetchResultData(deleteJobResult); + + // 执行任务 + ResultDTO 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 fetchInstanceInfoResult = client.fetchInstanceInfo(instanceId); + context.getOmsLogger().info("[fetchInstanceInfo] fetchInstanceInfoResult: {}", JSONObject.toJSONString(fetchInstanceInfoResult)); + InstanceInfoDTO instanceInfoDTO = fetchResultData(fetchInstanceInfoResult); + + ResultDTO fetchInstanceStatusResult = client.fetchInstanceStatus(instanceId); + context.getOmsLogger().info("[fetchInstanceStatus] fetchInstanceStatusResult: {}", JSONObject.toJSONString(fetchInstanceStatusResult)); + Integer instanceStatus = fetchResultData(fetchInstanceStatusResult); + assert instanceInfoDTO.getStatus() == instanceStatus; + + // 回收全部资源 + ResultDTO deleteCreatedJobResult = client.deleteJob(createdJobId); + context.getOmsLogger().info("[deleteJob] deleteCreatedJobResult: {}", JSONObject.toJSONString(deleteCreatedJobResult)); + fetchResultData(deleteCreatedJobResult); + + return new ProcessResult(true); + } + + private static T fetchResultData(ResultDTO 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 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 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 addressList; + } +}