diff --git a/ruoyi-common/ruoyi-common-job/pom.xml b/ruoyi-common/ruoyi-common-job/pom.xml index 3b6905d8a..31318c23c 100644 --- a/ruoyi-common/ruoyi-common-job/pom.xml +++ b/ruoyi-common/ruoyi-common-job/pom.xml @@ -28,22 +28,6 @@ spring-cloud-commons - - - tech.powerjob - powerjob-worker - - - powerjob-remote-impl-akka - tech.powerjob - - - - - tech.powerjob - powerjob-official-processors - - com.aizuda diff --git a/ruoyi-common/ruoyi-common-job/src/main/java/org/dromara/common/job/config/PowerJobConfig.java b/ruoyi-common/ruoyi-common-job/src/main/java/org/dromara/common/job/config/PowerJobConfig.java deleted file mode 100644 index 635f9f84f..000000000 --- a/ruoyi-common/ruoyi-common-job/src/main/java/org/dromara/common/job/config/PowerJobConfig.java +++ /dev/null @@ -1,107 +0,0 @@ -package org.dromara.common.job.config; - -import cn.hutool.core.collection.CollUtil; -import org.dromara.common.core.utils.StreamUtils; -import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.job.config.properties.PowerJobProperties; -import org.springframework.boot.autoconfigure.AutoConfiguration; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.cloud.client.ServiceInstance; -import org.springframework.cloud.client.discovery.DiscoveryClient; -import org.springframework.context.annotation.Bean; -import tech.powerjob.common.utils.CommonUtils; -import tech.powerjob.common.utils.NetUtils; -import tech.powerjob.worker.PowerJobSpringWorker; -import tech.powerjob.worker.common.PowerJobWorkerConfig; - -import java.util.Arrays; -import java.util.List; - -/** - * Autoconfiguration class for PowerJob-worker. - * - * @author songyinyin - * @since 2020/7/26 16:37 - */ -@AutoConfiguration -@EnableConfigurationProperties(PowerJobProperties.class) -@ConditionalOnProperty(prefix = "powerjob.worker", name = "enabled", havingValue = "true", matchIfMissing = true) -public class PowerJobConfig{ - - @Bean - public PowerJobSpringWorker initPowerJob(PowerJobProperties properties, DiscoveryClient discoveryClient) { - - PowerJobProperties.Worker worker = properties.getWorker(); - - /* - * Address of PowerJob-server node(s). Do not mistake for ActorSystem port. Do not add - * any prefix, i.e. http://. - */ - List serverAddress; - if (StringUtils.isNotBlank(worker.getServerName())) { - List instances = discoveryClient.getInstances(worker.getServerName()); - if (CollUtil.isEmpty(instances)) { - throw new RuntimeException("调度中心不存在!"); - } - serverAddress = StreamUtils.toList(instances, instance -> - String.format("%s:%s", instance.getHost(), instance.getPort())); - } else { - CommonUtils.requireNonNull(worker.getServerAddress(), "serverAddress can't be empty! " + - "if you don't want to enable powerjob, please config program arguments: powerjob.worker.enabled=false"); - serverAddress = Arrays.asList(worker.getServerAddress().split(",")); - } - /* - * Create OhMyConfig object for setting properties. - */ - PowerJobWorkerConfig config = new PowerJobWorkerConfig(); - /* - * Configuration of worker port. Random port is enabled when port is set with non-positive number. - */ - if (worker.getPort() != null) { - config.setPort(worker.getPort()); - } else { - int port = worker.getPort(); - if (port <= 0) { - port = NetUtils.getRandomPort(); - } - config.setPort(port); - } - /* - * appName, name of the application. Applications should be registered in advance to prevent - * error. This property should be the same with what you entered for appName when getting - * registered. - */ - config.setAppName(worker.getAppName()); - config.setServerAddress(serverAddress); - config.setProtocol(worker.getProtocol()); - /* - * For non-Map/MapReduce tasks, {@code memory} is recommended for speeding up calculation. - * Map/MapReduce tasks may produce batches of subtasks, which could lead to OutOfMemory - * exception or error, {@code disk} should be applied. - */ - config.setStoreStrategy(worker.getStoreStrategy()); - /* - * When enabledTestMode is set as true, PowerJob-worker no longer connects to PowerJob-server - * or validate appName. - */ - config.setAllowLazyConnectServer(worker.isAllowLazyConnectServer()); - /* - * Max length of appended workflow context . Appended workflow context value that is longer than the value will be ignored. - */ - config.setMaxAppendedWfContextLength(worker.getMaxAppendedWfContextLength()); - - config.setTag(worker.getTag()); - - config.setMaxHeavyweightTaskNum(worker.getMaxHeavyweightTaskNum()); - - config.setMaxLightweightTaskNum(worker.getMaxLightweightTaskNum()); - - config.setHealthReportInterval(worker.getHealthReportInterval()); - /* - * Create PowerJobSpringWorker object and set properties. - */ - return new PowerJobSpringWorker(config); - } - -} diff --git a/ruoyi-common/ruoyi-common-job/src/main/java/org/dromara/common/job/config/properties/PowerJobProperties.java b/ruoyi-common/ruoyi-common-job/src/main/java/org/dromara/common/job/config/properties/PowerJobProperties.java deleted file mode 100644 index df5f28539..000000000 --- a/ruoyi-common/ruoyi-common-job/src/main/java/org/dromara/common/job/config/properties/PowerJobProperties.java +++ /dev/null @@ -1,109 +0,0 @@ -package org.dromara.common.job.config.properties; - -import lombok.Getter; -import lombok.Setter; -import org.springframework.boot.context.properties.ConfigurationProperties; -import tech.powerjob.common.RemoteConstant; -import tech.powerjob.common.enums.Protocol; -import tech.powerjob.worker.common.constants.StoreStrategy; -import tech.powerjob.worker.core.processor.ProcessResult; -import tech.powerjob.worker.core.processor.WorkflowContext; - -/** - * PowerJob properties configuration class. - * - * @author songyinyin - * @since 2020/7/26 16:37 - */ -@ConfigurationProperties(prefix = "powerjob") -public class PowerJobProperties { - - private final Worker worker = new Worker(); - - public Worker getWorker() { - return worker; - } - - /** - * Powerjob worker configuration properties. - */ - @Setter - @Getter - public static class Worker { - - /** - * Whether to enable PowerJob Worker - */ - private boolean enabled = true; - - /** - * Name of application, String type. Total length of this property should be no more than 255 - * characters. This is one of the required properties when registering a new application. This - * property should be assigned with the same value as what you entered for the appName. - */ - private String appName; - /** - * Akka port of Powerjob-worker, optional value. Default value of this property is 27777. - * If multiple PowerJob-worker nodes were deployed, different, unique ports should be assigned. - * Deprecated, please use 'port' - */ - @Deprecated - private int akkaPort = RemoteConstant.DEFAULT_WORKER_PORT; - /** - * port - */ - private Integer port; - /** - * Address(es) of Powerjob-server node(s). Ip:port or domain. - * Example of single Powerjob-server node: - *

- * 127.0.0.1:7700 - *

- * Example of Powerjob-server cluster: - *

- * 192.168.0.10:7700,192.168.0.11:7700,192.168.0.12:7700 - *

- */ - private String serverAddress; - - private String serverName; - /** - * Protocol for communication between WORKER and server - */ - private Protocol protocol = Protocol.AKKA; - /** - * Local store strategy for H2 database. {@code disk} or {@code memory}. - */ - private StoreStrategy storeStrategy = StoreStrategy.DISK; - /** - * Max length of response result. Result that is longer than the value will be truncated. - * {@link ProcessResult} max length for #msg - */ - private int maxResultLength = 8192; - /** - * If allowLazyConnectServer is set as true, PowerJob worker allows launching without a direct connection to the server. - * allowLazyConnectServer is used for conditions that your have no powerjob-server in your develop env so you can't startup the application - */ - private boolean allowLazyConnectServer = false; - /** - * Max length of appended workflow context value length. Appended workflow context value that is longer than the value will be ignored. - * {@link WorkflowContext} max length for #appendedContextData - */ - private int maxAppendedWfContextLength = 8192; - - private String tag; - /** - * Max numbers of LightTaskTacker - */ - private Integer maxLightweightTaskNum = 1024; - /** - * Max numbers of HeavyTaskTacker - */ - private Integer maxHeavyweightTaskNum = 64; - /** - * Interval(s) of worker health report - */ - private Integer healthReportInterval = 10; - - } -} diff --git a/ruoyi-common/ruoyi-common-job/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-common/ruoyi-common-job/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 2e3dc3209..806829f7d 100644 --- a/ruoyi-common/ruoyi-common-job/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/ruoyi-common/ruoyi-common-job/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1,2 +1 @@ -org.dromara.common.job.config.PowerJobConfig org.dromara.common.job.config.EasyRetryConfig diff --git a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/processors/BroadcastProcessorDemo.java b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/processors/BroadcastProcessorDemo.java deleted file mode 100644 index 2b4c28a1f..000000000 --- a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/processors/BroadcastProcessorDemo.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.dromara.job.processors; - -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Component; -import tech.powerjob.common.utils.NetUtils; -import tech.powerjob.worker.core.processor.ProcessResult; -import tech.powerjob.worker.core.processor.TaskContext; -import tech.powerjob.worker.core.processor.TaskResult; -import tech.powerjob.worker.core.processor.sdk.BroadcastProcessor; -import tech.powerjob.worker.log.OmsLogger; - -import java.util.List; - -/** - * 广播处理器 示例 - * - * @author tjq - * @since 2020/4/17 - */ -@Slf4j -@Component -public class BroadcastProcessorDemo implements BroadcastProcessor { - - @Override - public ProcessResult preProcess(TaskContext context) { - System.out.println("===== BroadcastProcessorDemo#preProcess ======"); - context.getOmsLogger().info("BroadcastProcessorDemo#preProcess, current host: {}", NetUtils.getLocalHost()); - if ("rootFailed".equals(context.getJobParams())) { - return new ProcessResult(false, "console need failed"); - } else { - return new ProcessResult(true); - } - } - - @Override - public ProcessResult process(TaskContext taskContext) throws Exception { - OmsLogger logger = taskContext.getOmsLogger(); - System.out.println("===== BroadcastProcessorDemo#process ======"); - logger.info("BroadcastProcessorDemo#process, current host: {}", NetUtils.getLocalHost()); - long sleepTime = 1000; - try { - sleepTime = Long.parseLong(taskContext.getJobParams()); - } catch (Exception e) { - logger.warn("[BroadcastProcessor] parse sleep time failed!", e); - } - Thread.sleep(Math.max(sleepTime, 1000)); - return new ProcessResult(true); - } - - @Override - public ProcessResult postProcess(TaskContext context, List taskResults) { - System.out.println("===== BroadcastProcessorDemo#postProcess ======"); - context.getOmsLogger().info("BroadcastProcessorDemo#postProcess, current host: {}, taskResult: {}", NetUtils.getLocalHost(), taskResults); - return new ProcessResult(true, "success"); - } -} diff --git a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/processors/LogTestProcessor.java b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/processors/LogTestProcessor.java deleted file mode 100644 index 2a1000fd5..000000000 --- a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/processors/LogTestProcessor.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.dromara.job.processors; - -import com.alibaba.fastjson.JSONObject; -import org.springframework.stereotype.Component; -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 tech.powerjob.worker.log.OmsLogger; - -import java.util.Date; -import java.util.Optional; - -/** - * LogTestProcessor - * - * @author tjq - * @since 2022/9/18 - */ -@Component -public class LogTestProcessor implements BasicProcessor { - - @Override - public ProcessResult process(TaskContext context) throws Exception { - - final OmsLogger omsLogger = context.getOmsLogger(); - final String parseParams = CommonUtils.parseParams(context); - final JSONObject config = Optional.ofNullable(JSONObject.parseObject(parseParams)).orElse(new JSONObject()); - - final long loopTimes = Optional.ofNullable(config.getLong("loopTimes")).orElse(1000L); - - for (int i = 0; i < loopTimes; i++) { - omsLogger.debug("[DEBUG] one DEBUG log in {}", new Date()); - omsLogger.info("[INFO] one INFO log in {}", new Date()); - omsLogger.warn("[WARN] one WARN log in {}", new Date()); - omsLogger.error("[ERROR] one ERROR log in {}", new Date()); - } - - return new ProcessResult(true); - } -} diff --git a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/processors/MapProcessorDemo.java b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/processors/MapProcessorDemo.java deleted file mode 100644 index 720d333e2..000000000 --- a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/processors/MapProcessorDemo.java +++ /dev/null @@ -1,93 +0,0 @@ -package org.dromara.job.processors; - -import com.google.common.collect.Lists; -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.NoArgsConstructor; -import org.dromara.common.json.utils.JsonUtils; -import org.springframework.stereotype.Component; -import tech.powerjob.worker.core.processor.ProcessResult; -import tech.powerjob.worker.core.processor.TaskContext; -import tech.powerjob.worker.core.processor.sdk.MapProcessor; - -import java.util.List; -import java.util.concurrent.ThreadLocalRandom; - -/** - * Map处理器 示例 - * - * @author tjq - * @since 2020/4/18 - */ -@Component -public class MapProcessorDemo implements MapProcessor { - - - /** - * 每一批发送任务大小 - */ - private static final int BATCH_SIZE = 100; - /** - * 发送的批次 - */ - private static final int BATCH_NUM = 5; - - @Override - public ProcessResult process(TaskContext context) throws Exception { - - log.info("============== MapProcessorDemo#process =============="); - log.info("isRootTask:{}", isRootTask()); - log.info("taskContext:{}", JsonUtils.toJsonString(context)); - - if (isRootTask()) { - log.info("==== MAP ===="); - List subTasks = Lists.newLinkedList(); - for (int j = 0; j < BATCH_NUM; j++) { - SubTask subTask = new SubTask(); - subTask.siteId = j; - subTask.itemIds = Lists.newLinkedList(); - subTasks.add(subTask); - for (int i = 0; i < BATCH_SIZE; i++) { - subTask.itemIds.add(i + j * 100); - } - } - map(subTasks, "MAP_TEST_TASK"); - return new ProcessResult(true, "map successfully"); - } else { - - log.info("==== PROCESS ===="); - SubTask subTask = (SubTask) context.getSubTask(); - for (Integer itemId : subTask.getItemIds()) { - if (Thread.interrupted()) { - // 任务被中断 - log.info("job has been stop! so stop to process subTask: {} => {}", subTask.getSiteId(), itemId); - break; - } - log.info("processing subTask: {} => {}", subTask.getSiteId(), itemId); - int max = Integer.MAX_VALUE >> 7; - for (int i = 0; ; i++) { - // 模拟耗时操作 - if (i > max) { - break; - } - } - } - // 测试在 Map 任务中追加上下文 - context.getWorkflowContext().appendData2WfContext("Yasuo", "A sword's poor company for a long road."); - boolean b = ThreadLocalRandom.current().nextBoolean(); - if (context.getCurrentRetryTimes() >= 1) { - // 重试的话一定会成功 - b = true; - } - return new ProcessResult(b, "RESULT:" + b); - } - } - - @Getter - @NoArgsConstructor - @AllArgsConstructor - public static class SubTask { - private Integer siteId; - private List itemIds; - } -} diff --git a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/processors/MapReduceProcessorDemo.java b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/processors/MapReduceProcessorDemo.java deleted file mode 100644 index 149885465..000000000 --- a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/processors/MapReduceProcessorDemo.java +++ /dev/null @@ -1,93 +0,0 @@ -package org.dromara.job.processors; - -import cn.hutool.core.lang.Dict; -import com.google.common.collect.Lists; -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.ToString; -import lombok.extern.slf4j.Slf4j; -import org.dromara.common.json.utils.JsonUtils; -import org.springframework.stereotype.Component; -import tech.powerjob.worker.core.processor.ProcessResult; -import tech.powerjob.worker.core.processor.TaskContext; -import tech.powerjob.worker.core.processor.TaskResult; -import tech.powerjob.worker.core.processor.sdk.MapReduceProcessor; -import tech.powerjob.worker.log.OmsLogger; - -import java.util.List; -import java.util.concurrent.ThreadLocalRandom; - -/** - * MapReduce 处理器示例 - * 控制台参数:{"batchSize": 100, "batchNum": 2} - * - * @author tjq - * @since 2020/4/17 - */ -@Slf4j -@Component -public class MapReduceProcessorDemo implements MapReduceProcessor { - - @Override - public ProcessResult process(TaskContext context) throws Exception { - - OmsLogger omsLogger = context.getOmsLogger(); - - log.info("============== TestMapReduceProcessor#process =============="); - log.info("isRootTask:{}", isRootTask()); - log.info("taskContext:{}", JsonUtils.toJsonString(context)); - - // 根据控制台参数获取MR批次及子任务大小 - final Dict jobParams = JsonUtils.parseMap(context.getJobParams()); - - Integer batchSize = (Integer) jobParams.getOrDefault("batchSize", 100); - Integer batchNum = (Integer) jobParams.getOrDefault("batchNum", 10); - - if (isRootTask()) { - log.info("==== MAP ===="); - omsLogger.info("[DemoMRProcessor] start root task~"); - List subTasks = Lists.newLinkedList(); - for (int j = 0; j < batchNum; j++) { - for (int i = 0; i < batchSize; i++) { - int x = j * batchSize + i; - subTasks.add(new TestSubTask("name" + x, x)); - } - map(subTasks, "MAP_TEST_TASK"); - subTasks.clear(); - } - omsLogger.info("[DemoMRProcessor] map success~"); - return new ProcessResult(true, "MAP_SUCCESS"); - } else { - log.info("==== NORMAL_PROCESS ===="); - omsLogger.info("[DemoMRProcessor] process subTask: {}.", JsonUtils.toJsonString(context.getSubTask())); - log.info("subTask: {}", JsonUtils.toJsonString(context.getSubTask())); - Thread.sleep(1000); - if (context.getCurrentRetryTimes() == 0) { - return new ProcessResult(false, "FIRST_FAILED"); - } else { - return new ProcessResult(true, "PROCESS_SUCCESS"); - } - } - } - - @Override - public ProcessResult reduce(TaskContext context, List taskResults) { - log.info("================ MapReduceProcessorDemo#reduce ================"); - log.info("TaskContext: {}", JsonUtils.toJsonString(context)); - log.info("List: {}", JsonUtils.toJsonString(taskResults)); - context.getOmsLogger().info("MapReduce job finished, result is {}.", taskResults); - - boolean success = ThreadLocalRandom.current().nextBoolean(); - return new ProcessResult(success, context + ": " + success); - } - - @Getter - @ToString - @NoArgsConstructor - @AllArgsConstructor - public static class TestSubTask { - private String name; - private int age; - } -} diff --git a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/processors/SimpleProcessor.java b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/processors/SimpleProcessor.java deleted file mode 100644 index 3342cfe55..000000000 --- a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/processors/SimpleProcessor.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.dromara.job.processors; - -import org.springframework.stereotype.Component; -import tech.powerjob.worker.core.processor.ProcessResult; -import tech.powerjob.worker.core.processor.TaskContext; -import tech.powerjob.worker.core.processor.sdk.BasicProcessor; -import tech.powerjob.worker.log.OmsLogger; - -import java.util.Optional; - -/** - * @author Echo009 - * @since 2022/4/27 - */ -@Component -public class SimpleProcessor implements BasicProcessor { - - @Override - public ProcessResult process(TaskContext context) throws Exception { - - OmsLogger logger = context.getOmsLogger(); - - String jobParams = Optional.ofNullable(context.getJobParams()).orElse("S"); - logger.info("Current context:{}", context.getWorkflowContext()); - logger.info("Current job params:{}", jobParams); - - // 测试中文问题 #581 - if (jobParams.contains("CN")) { - return new ProcessResult(true, "任务成功啦!!!"); - } - - return jobParams.contains("F") ? new ProcessResult(false) : new ProcessResult(true, "yeah!"); - - } -} diff --git a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/processors/StandaloneProcessorDemo.java b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/processors/StandaloneProcessorDemo.java deleted file mode 100644 index ea8eff330..000000000 --- a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/processors/StandaloneProcessorDemo.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.dromara.job.processors; - -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Component; -import tech.powerjob.worker.core.processor.ProcessResult; -import tech.powerjob.worker.core.processor.TaskContext; -import tech.powerjob.worker.core.processor.sdk.BasicProcessor; -import tech.powerjob.worker.log.OmsLogger; - -import java.util.Collections; - -/** - * 单机处理器 示例 - * - * @author tjq - * @since 2020/4/17 - */ -@Slf4j -@Component -public class StandaloneProcessorDemo implements BasicProcessor { - - @Override - public ProcessResult process(TaskContext context) throws Exception { - OmsLogger omsLogger = context.getOmsLogger(); - omsLogger.info("StandaloneProcessorDemo start process,context is {}.", context); - omsLogger.info("Notice! If you want this job process failed, your jobParams need to be 'failed'"); - omsLogger.info("Let's test the exception~"); - // 测试异常日志 - try { - Collections.emptyList().add("277"); - } catch (Exception e) { - omsLogger.error("oh~it seems that we have an exception~", e); - } - log.info("================ StandaloneProcessorDemo#process ================"); - log.info("jobParam:{}", context.getJobParams()); - log.info("instanceParams:{}", context.getInstanceParams()); - String param; - // 解析参数,非处于工作流中时,优先取实例参数(允许动态[instanceParams]覆盖静态参数[jobParams]) - if (context.getWorkflowContext() == null) { - param = StringUtils.isBlank(context.getInstanceParams()) ? context.getJobParams() : context.getInstanceParams(); - } else { - param = context.getJobParams(); - } - // 根据参数判断是否成功 - boolean success = !"failed".equals(param); - omsLogger.info("StandaloneProcessorDemo finished process,success: {}", success); - omsLogger.info("anyway, we finished the job successfully~Congratulations!"); - return new ProcessResult(success, context + ": " + success); - } -} diff --git a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/processors/TimeoutProcessor.java b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/processors/TimeoutProcessor.java deleted file mode 100644 index 4b5899f90..000000000 --- a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/processors/TimeoutProcessor.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.dromara.job.processors; - -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Component; -import tech.powerjob.worker.core.processor.ProcessResult; -import tech.powerjob.worker.core.processor.TaskContext; -import tech.powerjob.worker.core.processor.sdk.BasicProcessor; - -/** - * 测试超时任务(可中断) - * - * @author tjq - * @since 2020/4/20 - */ -@Component -@Slf4j -public class TimeoutProcessor implements BasicProcessor { - @Override - public ProcessResult process(TaskContext context) throws Exception { - long sleepTime = Long.parseLong(context.getJobParams()); - log.info("TaskInstance({}) will sleep {} ms", context.getInstanceId(), sleepTime); - Thread.sleep(Long.parseLong(context.getJobParams())); - return new ProcessResult(true, "impossible~~~~QAQ~"); - } -} diff --git a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/workflow/WorkflowStandaloneProcessor.java b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/workflow/WorkflowStandaloneProcessor.java deleted file mode 100644 index 51187e3d8..000000000 --- a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/workflow/WorkflowStandaloneProcessor.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.dromara.job.workflow; - -import com.alibaba.fastjson.JSON; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Component; -import tech.powerjob.worker.core.processor.ProcessResult; -import tech.powerjob.worker.core.processor.TaskContext; -import tech.powerjob.worker.core.processor.sdk.BasicProcessor; -import tech.powerjob.worker.log.OmsLogger; - -import java.util.Map; - -/** - * 工作流测试 - * - * @author tjq - * @since 2020/6/2 - */ -@Component -@Slf4j -public class WorkflowStandaloneProcessor implements BasicProcessor { - - @Override - public ProcessResult process(TaskContext context) throws Exception { - OmsLogger logger = context.getOmsLogger(); - logger.info("current jobParams: {}", context.getJobParams()); - logger.info("current context: {}", context.getWorkflowContext()); - log.info("jobParams:{}", context.getJobParams()); - log.info("currentContext:{}", JSON.toJSONString(context)); - - // 尝试获取上游任务 - Map workflowContext = context.getWorkflowContext().fetchWorkflowContext(); - log.info("工作流上下文数据:{}", workflowContext); - return new ProcessResult(true, context.getJobId() + " process successfully."); - } -} diff --git a/ruoyi-visual/pom.xml b/ruoyi-visual/pom.xml index dadc40c29..a2f1531fe 100644 --- a/ruoyi-visual/pom.xml +++ b/ruoyi-visual/pom.xml @@ -13,7 +13,6 @@ ruoyi-sentinel-dashboard ruoyi-seata-server ruoyi-nacos - ruoyi-powerjob-server ruoyi-easyretry-server diff --git a/ruoyi-visual/ruoyi-powerjob-server/Dockerfile b/ruoyi-visual/ruoyi-powerjob-server/Dockerfile deleted file mode 100644 index 4423c7ce3..000000000 --- a/ruoyi-visual/ruoyi-powerjob-server/Dockerfile +++ /dev/null @@ -1,17 +0,0 @@ -#FROM findepi/graalvm:java17-native -FROM openjdk:17.0.2-oraclelinux8 - -MAINTAINER Lion Li - -RUN mkdir -p /ruoyi/powerjob/logs - -WORKDIR /ruoyi/powerjob - -ENV LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS="-Xms512m -Xmx1024m" - -EXPOSE 7700 - -ADD ./target/ruoyi-powerjob-server.jar ./app.jar - -ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -jar app.jar \ - -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC ${JAVA_OPTS} diff --git a/ruoyi-visual/ruoyi-powerjob-server/pom.xml b/ruoyi-visual/ruoyi-powerjob-server/pom.xml deleted file mode 100644 index 64a3fd392..000000000 --- a/ruoyi-visual/ruoyi-powerjob-server/pom.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - org.dromara - ruoyi-visual - ${revision} - - 4.0.0 - jar - ruoyi-powerjob-server - - - 2.7.18 - 2021.0.7 - 2021.0.4.0 - - - - - org.springframework.boot - spring-boot-dependencies - ${spring-boot.version} - pom - import - - - org.springframework.cloud - spring-cloud-dependencies - ${spring-cloud.version} - pom - import - - - com.alibaba.cloud - spring-cloud-alibaba-dependencies - ${spring-cloud-alibaba.version} - pom - import - - - - - - - - - tech.powerjob - powerjob-server-starter - ${powerjob.version} - - - - org.dromara - ruoyi-common-nacos - - - - org.projectlombok - lombok - - - - - - ${project.artifactId} - - - org.springframework.boot - spring-boot-maven-plugin - ${spring-boot.version} - - - - repackage - - - - - - - - diff --git a/ruoyi-visual/ruoyi-powerjob-server/src/main/java/org/dromara/powerjob/PowerJobServerApplication.java b/ruoyi-visual/ruoyi-powerjob-server/src/main/java/org/dromara/powerjob/PowerJobServerApplication.java deleted file mode 100644 index 3898639cf..000000000 --- a/ruoyi-visual/ruoyi-powerjob-server/src/main/java/org/dromara/powerjob/PowerJobServerApplication.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.dromara.powerjob; - -import lombok.extern.slf4j.Slf4j; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.scheduling.annotation.EnableScheduling; -import tech.powerjob.server.common.utils.PropertyUtils; - -/** - * powerjob 启动程序 - * - * @author yhan219 - */ -@Slf4j -@EnableScheduling -@SpringBootApplication(scanBasePackages = "tech.powerjob.server") -public class PowerJobServerApplication { - - public static void main(String[] args) { - PropertyUtils.init(); - SpringApplication.run(tech.powerjob.server.PowerJobServerApplication.class, args); - log.info("文档地址: https://www.yuque.com/powerjob/guidence/problem"); - } - -} diff --git a/ruoyi-visual/ruoyi-powerjob-server/src/main/resources/application.properties b/ruoyi-visual/ruoyi-powerjob-server/src/main/resources/application.properties deleted file mode 100644 index 8d2e3dd69..000000000 --- a/ruoyi-visual/ruoyi-powerjob-server/src/main/resources/application.properties +++ /dev/null @@ -1,43 +0,0 @@ -# Http server port -server.port=7700 - -spring.profiles.active=@profiles.active@ -spring.main.banner-mode=log -spring.jpa.open-in-view=false -spring.data.mongodb.repositories.type=none -logging.level.org.mongodb=warn -logging.level.tech.powerjob.server=warn -logging.level.MONITOR_LOGGER_DB_OPERATION=warn -logging.level.MONITOR_LOGGER_WORKER_HEART_BEAT=warn -logging.config=classpath:logback-plus.xml - -# Configuration for uploading files. -spring.servlet.multipart.enabled=true -spring.servlet.multipart.file-size-threshold=0 -spring.servlet.multipart.max-file-size=209715200 -spring.servlet.multipart.max-request-size=209715200 - -###### PowerJob transporter configuration ###### -oms.transporter.active.protocols=AKKA,HTTP -oms.transporter.main.protocol=HTTP -oms.akka.port=10086 -oms.http.port=10010 -# Prefix for all tables. Default empty string. Config if you have needs, i.e. pj_ -oms.table-prefix=pj_ - -spring.application.name=ruoyi-powerjob-server -management.endpoints.web.exposure.include=* -management.endpoint.health.show-details=ALWAYS -management.endpoint.logfile.external-file=./logs/ruoyi-powerjob-server.log -management.health.mongo.enabled=${oms.mongodb.enable} - -# nacos 配置 -spring.cloud.nacos.server-addr=@nacos.server@ -spring.cloud.nacos.username=@nacos.username@ -spring.cloud.nacos.password=@nacos.password@ -spring.cloud.nacos.discovery.group=@nacos.discovery.group@ -spring.cloud.nacos.discovery.namespace=${spring.profiles.active} -spring.cloud.nacos.config.group=@nacos.config.group@ -spring.cloud.nacos.config.namespace=${spring.profiles.active} -spring.config.import[0]=optional:nacos:datasource.yml -spring.config.import[1]=optional:nacos:${spring.application.name}.properties diff --git a/ruoyi-visual/ruoyi-powerjob-server/src/main/resources/banner.txt b/ruoyi-visual/ruoyi-powerjob-server/src/main/resources/banner.txt deleted file mode 100644 index c0fac79b2..000000000 --- a/ruoyi-visual/ruoyi-powerjob-server/src/main/resources/banner.txt +++ /dev/null @@ -1,11 +0,0 @@ -Application Version: ${revision} -Spring Boot Version: ${spring-boot.version} - _ _ - (_) | | - _ __ _____ _____ _ __ _ ___ | |__ ______ ___ ___ _ ____ _____ _ __ -| '_ \ / _ \ \ /\ / / _ \ '__| |/ _ \| '_ \______/ __|/ _ \ '__\ \ / / _ \ '__| -| |_) | (_) \ V V / __/ | | | (_) | |_) | \__ \ __/ | \ V / __/ | -| .__/ \___/ \_/\_/ \___|_| | |\___/|_.__/ |___/\___|_| \_/ \___|_| -| | _/ | -|_| |__/ - diff --git a/ruoyi-visual/ruoyi-powerjob-server/src/main/resources/logback-common.xml b/ruoyi-visual/ruoyi-powerjob-server/src/main/resources/logback-common.xml deleted file mode 100644 index 89eaa97ec..000000000 --- a/ruoyi-visual/ruoyi-powerjob-server/src/main/resources/logback-common.xml +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - - - ${log.path}/console.log - - - ${log.path}/console.%d{yyyy-MM-dd}.log - - 1 - - - ${log.pattern} - utf-8 - - - - INFO - - - - - - ${log.path}/info.log - - - - ${log.path}/info.%d{yyyy-MM-dd}.log - - 60 - - - ${log.pattern} - - - - INFO - - ACCEPT - - DENY - - - - - ${log.path}/error.log - - - - ${log.path}/error.%d{yyyy-MM-dd}.log - - 60 - - - ${log.pattern} - - - - ERROR - - ACCEPT - - DENY - - - - - - - 0 - - 512 - - - - - - - - 0 - - 512 - - - - - - - - - - - diff --git a/ruoyi-visual/ruoyi-powerjob-server/src/main/resources/logback-plus.xml b/ruoyi-visual/ruoyi-powerjob-server/src/main/resources/logback-plus.xml deleted file mode 100644 index 51ef03efb..000000000 --- a/ruoyi-visual/ruoyi-powerjob-server/src/main/resources/logback-plus.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - ${console.log.pattern} - utf-8 - - - - - - - - - - - - - - - - diff --git a/sql/easy_retry.sql b/sql/easy_retry.sql deleted file mode 100644 index 1bb222bc8..000000000 --- a/sql/easy_retry.sql +++ /dev/null @@ -1,528 +0,0 @@ -SET NAMES utf8mb4; - -CREATE TABLE `er_namespace` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `name` varchar(64) NOT NULL COMMENT '名称', - `unique_id` varchar(64) NOT NULL COMMENT '唯一id', - `description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '逻辑删除 1、删除', - PRIMARY KEY (`id`), - KEY `idx_name` (`name`), - UNIQUE KEY `uk_unique_id` (`unique_id`) -) ENGINE = InnoDB - DEFAULT CHARSET = utf8mb4 COMMENT ='命名空间'; - -INSERT INTO `er_namespace` VALUES (1, 'Development', 'dev', '', now(), now(), 0); -INSERT INTO `er_namespace` VALUES (2, 'Production', 'prod', '', now(), now(), 0); - - -CREATE TABLE `er_group_config` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` varchar(64) NOT NULL DEFAULT '' COMMENT '组名称', - `description` varchar(256) NOT NULL DEFAULT '' COMMENT '组描述', - `token` varchar(64) NOT NULL DEFAULT 'ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT' COMMENT 'token', - `group_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '组状态 0、未启用 1、启用', - `version` int(11) NOT NULL COMMENT '版本号', - `group_partition` int(11) NOT NULL COMMENT '分区', - `id_generator_mode` tinyint(4) NOT NULL DEFAULT '1' COMMENT '唯一id生成模式 默认号段模式', - `init_scene` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否初始化场景 0:否 1:是', - `bucket_index` int(11) NOT NULL DEFAULT '0' COMMENT 'bucket', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uk_namespace_id_group_name` (`namespace_id`, `group_name`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='组配置' -; - -INSERT INTO `er_group_config` VALUES (1, 'dev', 'ruoyi_group', '', 'ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, 4, now(), now()); - - -CREATE TABLE `er_notify_config` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `scene_name` varchar(64) NOT NULL COMMENT '场景名称', - `notify_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '通知状态 0、未启用 1、启用', - `notify_type` tinyint(4) NOT NULL DEFAULT '0' COMMENT '通知类型 1、钉钉 2、邮件 3、企业微信', - `notify_attribute` varchar(512) NOT NULL COMMENT '配置属性', - `notify_threshold` int(11) NOT NULL DEFAULT '0' COMMENT '通知阈值', - `notify_scene` tinyint(4) NOT NULL DEFAULT '0' COMMENT '通知场景', - `rate_limiter_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '限流状态 0、未启用 1、启用', - `rate_limiter_threshold` int(11) NOT NULL DEFAULT '0' COMMENT '每秒限流阈值', - `description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - KEY `idx_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='通知配置' -; - -CREATE TABLE `er_retry_dead_letter_0` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `unique_id` varchar(64) NOT NULL COMMENT '同组下id唯一', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `scene_name` varchar(64) NOT NULL COMMENT '场景名称', - `idempotent_id` varchar(64) NOT NULL COMMENT '幂等id', - `biz_no` varchar(64) NOT NULL DEFAULT '' COMMENT '业务编号', - `executor_name` varchar(512) NOT NULL DEFAULT '' COMMENT '执行器名称', - `args_str` text NOT NULL COMMENT '执行方法参数', - `ext_attrs` text NOT NULL COMMENT '扩展字段', - `task_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '任务类型 1、重试数据 2、回调数据', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - PRIMARY KEY (`id`), - KEY `idx_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`), - KEY `idx_idempotent_id` (`idempotent_id`), - KEY `idx_biz_no` (`biz_no`), - KEY `idx_create_dt` (`create_dt`), - UNIQUE KEY `uk_namespace_id_group_name_unique_id` (`namespace_id`, `group_name`, `unique_id`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='死信队列表' -; - -CREATE TABLE `er_retry_task_0` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `unique_id` varchar(64) NOT NULL COMMENT '同组下id唯一', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `scene_name` varchar(64) NOT NULL COMMENT '场景名称', - `idempotent_id` varchar(64) NOT NULL COMMENT '幂等id', - `biz_no` varchar(64) NOT NULL DEFAULT '' COMMENT '业务编号', - `executor_name` varchar(512) NOT NULL DEFAULT '' COMMENT '执行器名称', - `args_str` text NOT NULL COMMENT '执行方法参数', - `ext_attrs` text NOT NULL COMMENT '扩展字段', - `next_trigger_at` datetime NOT NULL COMMENT '下次触发时间', - `retry_count` int(11) NOT NULL DEFAULT '0' COMMENT '重试次数', - `retry_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '重试状态 0、重试中 1、成功 2、最大重试次数', - `task_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '任务类型 1、重试数据 2、回调数据', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - KEY `idx_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`), - KEY `idx_namespace_id_group_name_task_type` (`namespace_id`, `group_name`, `task_type`), - KEY `idx_namespace_id_group_name_retry_status` (`namespace_id`, `group_name`, `retry_status`), - KEY `idx_idempotent_id` (`idempotent_id`), - KEY `idx_biz_no` (`biz_no`), - KEY `idx_create_dt` (`create_dt`), - UNIQUE KEY `uk_name_unique_id` (`namespace_id`, `group_name`, `unique_id`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='任务表' -; - -CREATE TABLE `er_retry_task_log` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `unique_id` varchar(64) NOT NULL COMMENT '同组下id唯一', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `scene_name` varchar(64) NOT NULL COMMENT '场景名称', - `idempotent_id` varchar(64) NOT NULL COMMENT '幂等id', - `biz_no` varchar(64) NOT NULL DEFAULT '' COMMENT '业务编号', - `executor_name` varchar(512) NOT NULL DEFAULT '' COMMENT '执行器名称', - `args_str` text NOT NULL COMMENT '执行方法参数', - `ext_attrs` text NOT NULL COMMENT '扩展字段', - `retry_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '重试状态 0、重试中 1、成功 2、最大次数', - `task_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '任务类型 1、重试数据 2、回调数据', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - KEY `idx_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`), - KEY `idx_retry_status` (`retry_status`), - KEY `idx_idempotent_id` (`idempotent_id`), - KEY `idx_unique_id` (`unique_id`), - KEY `idx_biz_no` (`biz_no`), - KEY `idx_create_dt` (`create_dt`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='任务日志基础信息表' -; - -CREATE TABLE `er_retry_task_log_message` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `unique_id` varchar(64) NOT NULL COMMENT '同组下id唯一', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `message` longtext NOT NULL COMMENT '异常信息', - `log_num` int(11) NOT NULL DEFAULT 1 COMMENT '日志数量', - `real_time` bigint(13) NOT NULL DEFAULT 0 COMMENT '上报时间', - PRIMARY KEY (`id`), - KEY `idx_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `unique_id`), - KEY `idx_create_dt` (`create_dt`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='任务调度日志信息记录表' -; - -CREATE TABLE `er_scene_config` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `scene_name` varchar(64) NOT NULL COMMENT '场景名称', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `scene_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '组状态 0、未启用 1、启用', - `max_retry_count` int(11) NOT NULL DEFAULT '5' COMMENT '最大重试次数', - `back_off` tinyint(4) NOT NULL DEFAULT '1' COMMENT '1、默认等级 2、固定间隔时间 3、CRON 表达式', - `trigger_interval` varchar(16) NOT NULL DEFAULT '' COMMENT '间隔时长', - `deadline_request` bigint(20) unsigned NOT NULL DEFAULT '60000' COMMENT 'Deadline Request 调用链超时 单位毫秒', - `executor_timeout` int(11) unsigned NOT NULL DEFAULT '5' COMMENT '任务执行超时时间,单位秒', - `route_key` tinyint(4) NOT NULL DEFAULT '4' COMMENT '路由策略', - `description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uk_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='场景配置' -; - -CREATE TABLE `er_server_node` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `host_id` varchar(64) NOT NULL COMMENT '主机id', - `host_ip` varchar(64) NOT NULL COMMENT '机器ip', - `context_path` varchar(256) NOT NULL DEFAULT '/' COMMENT '客户端上下文路径 server.servlet.context-path', - `host_port` int(16) NOT NULL COMMENT '机器端口', - `expire_at` datetime NOT NULL COMMENT '过期时间', - `node_type` tinyint(4) NOT NULL COMMENT '节点类型 1、客户端 2、是服务端', - `ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`), - KEY `idx_expire_at_node_type` (`expire_at`, `node_type`), - UNIQUE KEY `uk_host_id_host_ip` (`host_id`, `host_ip`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='服务器节点' -; - -CREATE TABLE `er_distributed_lock` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `name` varchar(64) NOT NULL COMMENT '锁名称', - `lock_until` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '锁定时长', - `locked_at` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '锁定时间', - `locked_by` varchar(255) NOT NULL COMMENT '锁定者', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uk_name` (`name`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='锁定表' -; - -CREATE TABLE `er_system_user` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `username` varchar(64) NOT NULL COMMENT '账号', - `password` varchar(128) NOT NULL COMMENT '密码', - `role` tinyint(4) NOT NULL DEFAULT '0' COMMENT '角色:1-普通用户、2-管理员', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uk_username` (`username`) USING BTREE -) ENGINE = InnoDB - DEFAULT CHARSET = utf8mb4 COMMENT ='系统用户表'; - --- pwd: admin -INSERT INTO `er_system_user` VALUES (1, 'admin', '465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', 2, now(), now()); - -CREATE TABLE `er_system_user_permission` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `system_user_id` bigint(20) NOT NULL COMMENT '系统用户id', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uk_namespace_id_group_name_system_user_id` (`namespace_id`, `group_name`, `system_user_id`) -) ENGINE = InnoDB - DEFAULT CHARSET = utf8mb4 COMMENT ='系统用户权限表'; - -CREATE TABLE `er_sequence_alloc` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` varchar(64) NOT NULL DEFAULT '' COMMENT '组名称', - `max_id` bigint(20) NOT NULL DEFAULT '1' COMMENT '最大id', - `step` int(11) NOT NULL DEFAULT '100' COMMENT '步长', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uk_namespace_id_group_name` (`namespace_id`, `group_name`) -) ENGINE = InnoDB - DEFAULT CHARSET = utf8mb4 COMMENT ='号段模式序号ID分配表'; - --- 分布式调度DDL -CREATE TABLE `er_job` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `job_name` varchar(64) NOT NULL COMMENT '名称', - `args_str` text DEFAULT NULL COMMENT '执行方法参数', - `args_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '参数类型 ', - `next_trigger_at` bigint(13) NOT NULL COMMENT '下次触发时间', - `job_status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '任务状态 0、关闭、1、开启', - `task_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '任务类型 1、集群 2、广播 3、切片', - `route_key` tinyint(4) NOT NULL DEFAULT '4' COMMENT '路由策略', - `executor_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '执行器类型', - `executor_info` varchar(255) DEFAULT NULL COMMENT '执行器名称', - `trigger_type` tinyint(4) NOT NULL COMMENT '触发类型 1.CRON 表达式 2. 固定时间', - `trigger_interval` varchar(255) NOT NULL COMMENT '间隔时长', - `block_strategy` tinyint(4) NOT NULL DEFAULT '1' COMMENT '阻塞策略 1、丢弃 2、覆盖 3、并行', - `executor_timeout` int(11) NOT NULL DEFAULT '0' COMMENT '任务执行超时时间,单位秒', - `max_retry_times` int(11) NOT NULL DEFAULT '0' COMMENT '最大重试次数', - `parallel_num` int(11) NOT NULL DEFAULT '1' COMMENT '并行数', - `retry_interval` int(11) NOT NULL DEFAULT '0' COMMENT '重试间隔(s)', - `bucket_index` int(11) NOT NULL DEFAULT '0' COMMENT 'bucket', - `resident` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否是常驻任务', - `description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述', - `ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '逻辑删除 1、删除', - PRIMARY KEY (`id`), - KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`), - KEY `idx_job_status_bucket_index` (`job_status`, `bucket_index`), - KEY `idx_create_dt` (`create_dt`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='任务信息'; - -INSERT INTO `er_job` VALUES (1, 'dev', 'ruoyi_group', 'demo-job', null, 1, 1710344035622, 1, 1, 4, 1, 'testJobExecutor', 2, '60', 1, 60, 3, 1, 1, 116, 0, '', '', now(), now(), 0); - - -CREATE TABLE `er_job_log_message` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `job_id` bigint(20) NOT NULL COMMENT '任务信息id', - `task_batch_id` bigint(20) NOT NULL COMMENT '任务批次id', - `task_id` bigint(20) NOT NULL COMMENT '调度任务id', - `message` longtext NOT NULL COMMENT '调度信息', - `log_num` int(11) NOT NULL DEFAULT 1 COMMENT '日志数量', - `real_time` bigint(13) NOT NULL DEFAULT 0 COMMENT '上报时间', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段', - PRIMARY KEY (`id`), - KEY `idx_task_batch_id_task_id` (`task_batch_id`, `task_id`), - KEY `idx_create_dt` (`create_dt`), - KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='调度日志'; - -CREATE TABLE `er_job_task` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `job_id` bigint(20) NOT NULL COMMENT '任务信息id', - `task_batch_id` bigint(20) NOT NULL COMMENT '调度任务id', - `parent_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '父执行器id', - `task_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '执行的状态 0、失败 1、成功', - `retry_count` int(11) NOT NULL DEFAULT '0' COMMENT '重试次数', - `client_info` varchar(128) DEFAULT NULL COMMENT '客户端地址 clientId#ip:port', - `result_message` text NOT NULL COMMENT '执行结果', - `args_str` text DEFAULT NULL COMMENT '执行方法参数', - `args_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '参数类型 ', - `ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - KEY `idx_task_batch_id_task_status` (`task_batch_id`, `task_status`), - KEY `idx_create_dt` (`create_dt`), - KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='任务实例'; - -CREATE TABLE `er_job_task_batch` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `job_id` bigint(20) NOT NULL COMMENT '任务id', - `workflow_node_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '工作流节点id', - `parent_workflow_node_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '工作流任务父批次id', - `workflow_task_batch_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '工作流任务批次id', - `task_batch_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '任务批次状态 0、失败 1、成功', - `operation_reason` tinyint(4) NOT NULL DEFAULT '0' COMMENT '操作原因', - `execution_at` bigint(13) NOT NULL DEFAULT '0' COMMENT '任务执行时间', - `system_task_type` tinyint(4) NOT NULL DEFAULT '3' COMMENT '任务类型 3、JOB任务 4、WORKFLOW任务', - `parent_id` varchar(64) NOT NULL DEFAULT '' COMMENT '父节点', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '逻辑删除 1、删除', - `ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段', - PRIMARY KEY (`id`), - KEY `idx_job_id_task_batch_status` (`job_id`, `task_batch_status`), - KEY `idx_create_dt` (`create_dt`), - KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`), - KEY `idx_workflow_task_batch_id_workflow_node_id` (`workflow_task_batch_id`, `workflow_node_id`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='任务批次'; - -CREATE TABLE `er_job_notify_config` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `job_id` bigint(20) NOT NULL COMMENT '任务id', - `notify_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '通知状态 0、未启用 1、启用', - `notify_type` tinyint(4) NOT NULL DEFAULT '0' COMMENT '通知类型 1、钉钉 2、邮件 3、企业微信', - `notify_attribute` varchar(512) NOT NULL COMMENT '配置属性', - `notify_threshold` int(11) NOT NULL DEFAULT '0' COMMENT '通知阈值', - `notify_scene` tinyint(4) NOT NULL DEFAULT '0' COMMENT '通知场景', - `rate_limiter_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '限流状态 0、未启用 1、启用', - `rate_limiter_threshold` int(11) NOT NULL DEFAULT '0' COMMENT '每秒限流阈值', - `description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - KEY `idx_namespace_id_group_name_job_id` (`namespace_id`, `group_name`, job_id) -) ENGINE = InnoDB - AUTO_INCREMENT = 4 - DEFAULT CHARSET = utf8mb4 COMMENT ='job通知配置'; - -CREATE TABLE `er_job_summary` -( - `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '组名称', - `business_id` bigint NOT NULL COMMENT '业务id (job_id或workflow_id)', - `system_task_type` tinyint(4) NOT NULL DEFAULT '3' COMMENT '任务类型 3、JOB任务 4、WORKFLOW任务', - `trigger_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '统计时间', - `success_num` int NOT NULL DEFAULT '0' COMMENT '执行成功-日志数量', - `fail_num` int NOT NULL DEFAULT '0' COMMENT '执行失败-日志数量', - `fail_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败原因', - `stop_num` int NOT NULL DEFAULT '0' COMMENT '执行失败-日志数量', - `stop_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败原因', - `cancel_num` int NOT NULL DEFAULT '0' COMMENT '执行失败-日志数量', - `cancel_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败原因', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - KEY `idx_namespace_id_group_name_business_id` (`namespace_id`, `group_name`, business_id), - UNIQUE KEY `uk_trigger_at_system_task_type_business_id` (`trigger_at`, `system_task_type`, `business_id`) USING BTREE -) ENGINE = InnoDB - AUTO_INCREMENT = 1 - DEFAULT CHARSET = utf8mb4 COMMENT ='DashBoard_Job'; - -CREATE TABLE `er_retry_summary` -( - `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '组名称', - `scene_name` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '场景名称', - `trigger_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '统计时间', - `running_num` int NOT NULL DEFAULT '0' COMMENT '重试中-日志数量', - `finish_num` int NOT NULL DEFAULT '0' COMMENT '重试完成-日志数量', - `max_count_num` int NOT NULL DEFAULT '0' COMMENT '重试到达最大次数-日志数量', - `suspend_num` int NOT NULL DEFAULT '0' COMMENT '暂停重试-日志数量', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - KEY `idx_trigger_at` (`trigger_at`), - UNIQUE KEY `uk_scene_name_trigger_at` (`namespace_id`, `group_name`, `scene_name`, `trigger_at`) USING BTREE -) ENGINE = InnoDB - AUTO_INCREMENT = 1 - DEFAULT CHARSET = utf8mb4 COMMENT ='DashBoard_Retry'; - -CREATE TABLE `er_workflow` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `workflow_name` varchar(64) NOT NULL COMMENT '工作流名称', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `workflow_status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '工作流状态 0、关闭、1、开启', - `trigger_type` tinyint(4) NOT NULL COMMENT '触发类型 1.CRON 表达式 2. 固定时间', - `trigger_interval` varchar(255) NOT NULL COMMENT '间隔时长', - `next_trigger_at` bigint(13) NOT NULL COMMENT '下次触发时间', - `block_strategy` tinyint(4) NOT NULL DEFAULT '1' COMMENT '阻塞策略 1、丢弃 2、覆盖 3、并行', - `executor_timeout` int(11) NOT NULL DEFAULT '0' COMMENT '任务执行超时时间,单位秒', - `description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述', - `flow_info` text DEFAULT NULL COMMENT '流程信息', - `bucket_index` int(11) NOT NULL DEFAULT '0' COMMENT 'bucket', - `version` int(11) NOT NULL COMMENT '版本号', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '逻辑删除 1、删除', - `ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段', - PRIMARY KEY (`id`), - KEY `idx_create_dt` (`create_dt`), - KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='工作流'; - -CREATE TABLE `er_workflow_node` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `node_name` varchar(64) NOT NULL COMMENT '节点名称', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `job_id` bigint(20) NOT NULL COMMENT '任务信息id', - `workflow_id` bigint(20) NOT NULL COMMENT '工作流ID', - `node_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '1、任务节点 2、条件节点', - `expression_type` tinyint(4) NOT NULL DEFAULT 0 COMMENT '1、SpEl、2、Aviator 3、QL', - `fail_strategy` tinyint(4) NOT NULL DEFAULT 1 COMMENT '失败策略 1、跳过 2、阻塞', - `workflow_node_status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '工作流节点状态 0、关闭、1、开启', - `priority_level` int(11) NOT NULL DEFAULT 1 COMMENT '优先级', - `node_info` text DEFAULT NULL COMMENT '节点信息 ', - `version` int(11) NOT NULL COMMENT '版本号', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '逻辑删除 1、删除', - `ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段', - PRIMARY KEY (`id`), - KEY `idx_create_dt` (`create_dt`), - KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='工作流节点'; - -CREATE TABLE `er_workflow_task_batch` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `workflow_id` bigint(20) NOT NULL COMMENT '工作流任务id', - `task_batch_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '任务批次状态 0、失败 1、成功', - `operation_reason` tinyint(4) NOT NULL DEFAULT '0' COMMENT '操作原因', - `flow_info` text DEFAULT NULL COMMENT '流程信息', - `execution_at` bigint(13) NOT NULL DEFAULT '0' COMMENT '任务执行时间', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '逻辑删除 1、删除', - `ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段', - PRIMARY KEY (`id`), - KEY `idx_job_id_task_batch_status` (`workflow_id`, `task_batch_status`), - KEY `idx_create_dt` (`create_dt`), - KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='工作流批次'; diff --git a/sql/oracle/easy_retry_oracle.sql b/sql/oracle/easy_retry_oracle.sql deleted file mode 100644 index ad41d7fd2..000000000 --- a/sql/oracle/easy_retry_oracle.sql +++ /dev/null @@ -1,830 +0,0 @@ --- Oracle DDL - --- er_namespace -CREATE TABLE er_namespace -( - id NUMBER GENERATED ALWAYS AS IDENTITY, - name VARCHAR2(64) NOT NULL, - unique_id VARCHAR2(64) NOT NULL, - description VARCHAR2(256) DEFAULT '', - create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - deleted SMALLINT DEFAULT 0 -); - -CREATE UNIQUE INDEX uk_namespace_1 ON er_namespace (unique_id); - -COMMENT ON TABLE er_namespace IS '命名空间'; -COMMENT ON COLUMN er_namespace.id IS '主键'; -COMMENT ON COLUMN er_namespace.name IS '名称'; -COMMENT ON COLUMN er_namespace.unique_id IS '唯一id'; -COMMENT ON COLUMN er_namespace.description IS '描述'; -COMMENT ON COLUMN er_namespace.create_dt IS '创建时间'; -COMMENT ON COLUMN er_namespace.update_dt IS '修改时间'; -COMMENT ON COLUMN er_namespace.deleted IS '逻辑删除 1、删除'; - --- id 为 IDENTITY 类型, 不能插入 -INSERT INTO er_namespace(name, unique_id, description, create_dt, update_dt, deleted) VALUES('Development', 'dev', '', sysdate, sysdate, 0 ); -INSERT INTO er_namespace(name, unique_id, description, create_dt, update_dt, deleted) VALUES ('Production', 'prod', '', sysdate, sysdate, 0); - --- er_group_config -CREATE TABLE er_group_config -( - id NUMBER GENERATED ALWAYS AS IDENTITY, - namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR2(64) NOT NULL, - description VARCHAR2(256) DEFAULT '', - token VARCHAR2(64) DEFAULT 'ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', - group_status SMALLINT DEFAULT 0, - version INT NOT NULL, - group_partition INT NOT NULL, - id_generator_mode SMALLINT DEFAULT 1, - init_scene SMALLINT DEFAULT 0, - bucket_index INT DEFAULT 0, - create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_group_config_1 ON er_group_config (namespace_id, group_name); - -COMMENT ON TABLE er_group_config IS '组配置'; -COMMENT ON COLUMN er_group_config.id IS '主键'; -COMMENT ON COLUMN er_group_config.namespace_id IS '命名空间'; -COMMENT ON COLUMN er_group_config.group_name IS '组名称'; -COMMENT ON COLUMN er_group_config.description IS '组描述'; -COMMENT ON COLUMN er_group_config.token IS 'token'; -COMMENT ON COLUMN er_group_config.group_status IS '组状态 0、未启用 1、启用'; -COMMENT ON COLUMN er_group_config.version IS '版本号'; -COMMENT ON COLUMN er_group_config.group_partition IS '分区'; -COMMENT ON COLUMN er_group_config.id_generator_mode IS '唯一id生成模式 默认号段模式'; -COMMENT ON COLUMN er_group_config.init_scene IS '是否初始化场景 0:否 1:是'; -COMMENT ON COLUMN er_group_config.bucket_index IS 'bucket'; -COMMENT ON COLUMN er_group_config.create_dt IS '创建时间'; -COMMENT ON COLUMN er_group_config.update_dt IS '修改时间'; - -INSERT INTO er_group_config(namespace_id, group_name, description, token, group_status, version, group_partition, id_generator_mode, init_scene, bucket_index, create_dt, update_dt) VALUES ('dev', 'ruoyi_group', '', 'ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, 4, SYSDATE, SYSDATE ); - --- er_notify_config -CREATE TABLE er_notify_config -( - id NUMBER GENERATED ALWAYS AS IDENTITY, - namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR2(64) NOT NULL, - scene_name VARCHAR2(64) NOT NULL, - notify_status SMALLINT DEFAULT 0, - notify_type SMALLINT DEFAULT 0, - notify_attribute VARCHAR2(512) NOT NULL, - notify_threshold INT DEFAULT 0, - notify_scene SMALLINT DEFAULT 0, - rate_limiter_status SMALLINT DEFAULT 0, - rate_limiter_threshold INT DEFAULT 0, - description VARCHAR2(256) DEFAULT '', - create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP -); - -CREATE INDEX idx_notify_config_1 ON er_notify_config (namespace_id, group_name); - -COMMENT ON TABLE er_notify_config IS '通知配置'; -COMMENT ON COLUMN er_notify_config.id IS '主键'; -COMMENT ON COLUMN er_notify_config.group_name IS '组名称'; -COMMENT ON COLUMN er_notify_config.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_notify_config.scene_name IS '场景名称'; -COMMENT ON COLUMN er_notify_config.notify_status IS '通知状态 0、未启用 1、启用'; -COMMENT ON COLUMN er_notify_config.notify_type IS '通知类型 1、钉钉 2、邮件 3、企业微信'; -COMMENT ON COLUMN er_notify_config.notify_attribute IS '配置属性'; -COMMENT ON COLUMN er_notify_config.notify_threshold IS '通知阈值'; -COMMENT ON COLUMN er_notify_config.notify_scene IS '通知场景'; -COMMENT ON COLUMN er_notify_config.rate_limiter_status IS '限流状态 0、未启用 1、启用'; -COMMENT ON COLUMN er_notify_config.rate_limiter_threshold IS '每秒限流阈值'; -COMMENT ON COLUMN er_notify_config.description IS '描述'; -COMMENT ON COLUMN er_notify_config.create_dt IS '创建时间'; -COMMENT ON COLUMN er_notify_config.update_dt IS '修改时间'; - --- er_retry_dead_letter -CREATE TABLE er_retry_dead_letter_0 -( - id NUMBER GENERATED ALWAYS AS IDENTITY, - unique_id VARCHAR2(64) NOT NULL, - namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR2(64) NOT NULL, - scene_name VARCHAR2(64) NOT NULL, - idempotent_id VARCHAR2(64) NOT NULL, - biz_no VARCHAR2(64) DEFAULT '', - executor_name VARCHAR2(512) DEFAULT '', - args_str CLOB DEFAULT '', - ext_attrs CLOB DEFAULT '', - task_type SMALLINT DEFAULT 1, - create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_retry_dead_letter_0_1 ON er_retry_dead_letter_0 (namespace_id, group_name, unique_id); -CREATE INDEX idx_retry_dead_letter_0_1 ON er_retry_dead_letter_0 (namespace_id, group_name, scene_name); -CREATE INDEX idx_retry_dead_letter_0_2 ON er_retry_dead_letter_0 (idempotent_id); -CREATE INDEX idx_retry_dead_letter_0_3 ON er_retry_dead_letter_0 (biz_no); -CREATE INDEX idx_retry_dead_letter_0_4 ON er_retry_dead_letter_0 (create_dt); - -COMMENT ON TABLE er_retry_dead_letter_0 IS '死信队列表'; -COMMENT ON COLUMN er_retry_dead_letter_0.id IS '主键'; -COMMENT ON COLUMN er_retry_dead_letter_0.unique_id IS '同组下id唯一'; -COMMENT ON COLUMN er_retry_dead_letter_0.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_retry_dead_letter_0.group_name IS '组名称'; -COMMENT ON COLUMN er_retry_dead_letter_0.scene_name IS '场景名称'; -COMMENT ON COLUMN er_retry_dead_letter_0.idempotent_id IS '幂等id'; -COMMENT ON COLUMN er_retry_dead_letter_0.biz_no IS '业务编号'; -COMMENT ON COLUMN er_retry_dead_letter_0.executor_name IS '执行器名称'; -COMMENT ON COLUMN er_retry_dead_letter_0.args_str IS '执行方法参数'; -COMMENT ON COLUMN er_retry_dead_letter_0.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN er_retry_dead_letter_0.task_type IS '任务类型 1、重试数据 2、回调数据'; -COMMENT ON COLUMN er_retry_dead_letter_0.create_dt IS '创建时间'; - --- er_retry_task -CREATE TABLE er_retry_task_0 -( - id NUMBER GENERATED ALWAYS AS IDENTITY, - unique_id VARCHAR2(64) NOT NULL, - namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR2(64) NOT NULL, - scene_name VARCHAR2(64) NOT NULL, - idempotent_id VARCHAR2(64) NOT NULL, - biz_no VARCHAR2(64) DEFAULT '', - executor_name VARCHAR2(512) DEFAULT '', - args_str CLOB DEFAULT '', - ext_attrs CLOB DEFAULT '', - next_trigger_at TIMESTAMP NOT NULL, - retry_count INT DEFAULT 0, - retry_status SMALLINT DEFAULT 0, - task_type SMALLINT DEFAULT 1, - create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_retry_task_0_1 ON er_retry_task_0 (namespace_id, group_name, unique_id); -CREATE INDEX idx_retry_task_0_1 ON er_retry_task_0 (namespace_id, group_name, scene_name); -CREATE INDEX idx_retry_task_0_2 ON er_retry_task_0 (namespace_id, group_name, retry_status); -CREATE INDEX idx_retry_task_0_3 ON er_retry_task_0 (idempotent_id); -CREATE INDEX idx_retry_task_0_4 ON er_retry_task_0 (biz_no); -CREATE INDEX idx_retry_task_0_5 ON er_retry_task_0 (create_dt); - -COMMENT ON TABLE er_retry_task_0 IS '任务表'; -COMMENT ON COLUMN er_retry_task_0.id IS '主键'; -COMMENT ON COLUMN er_retry_task_0.unique_id IS '同组下id唯一'; -COMMENT ON COLUMN er_retry_task_0.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_retry_task_0.group_name IS '组名称'; -COMMENT ON COLUMN er_retry_task_0.scene_name IS '场景名称'; -COMMENT ON COLUMN er_retry_task_0.idempotent_id IS '幂等id'; -COMMENT ON COLUMN er_retry_task_0.biz_no IS '业务编号'; -COMMENT ON COLUMN er_retry_task_0.executor_name IS '执行器名称'; -COMMENT ON COLUMN er_retry_task_0.args_str IS '执行方法参数'; -COMMENT ON COLUMN er_retry_task_0.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN er_retry_task_0.next_trigger_at IS '下次触发时间'; -COMMENT ON COLUMN er_retry_task_0.retry_count IS '重试次数'; -COMMENT ON COLUMN er_retry_task_0.retry_status IS '重试状态 0、重试中 1、成功 2、最大重试次数'; -COMMENT ON COLUMN er_retry_task_0.task_type IS '任务类型 1、重试数据 2、回调数据'; -COMMENT ON COLUMN er_retry_task_0.create_dt IS '创建时间'; -COMMENT ON COLUMN er_retry_task_0.update_dt IS '修改时间'; - --- er_retry_task_log -CREATE TABLE er_retry_task_log -( - id NUMBER GENERATED ALWAYS AS IDENTITY, - unique_id VARCHAR2(64) NOT NULL, - namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR2(64) NOT NULL, - scene_name VARCHAR2(64) NOT NULL, - idempotent_id VARCHAR2(64) NOT NULL, - biz_no VARCHAR2(64) DEFAULT '', - executor_name VARCHAR2(512) DEFAULT '', - args_str CLOB DEFAULT '', - ext_attrs CLOB DEFAULT '', - retry_status SMALLINT DEFAULT 0, - task_type SMALLINT DEFAULT 1, - create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP -); - -CREATE INDEX idx_retry_task_log_1 ON er_retry_task_log (namespace_id, group_name, scene_name); -CREATE INDEX idx_retry_task_log_2 ON er_retry_task_log (retry_status); -CREATE INDEX idx_retry_task_log_3 ON er_retry_task_log (idempotent_id); -CREATE INDEX idx_retry_task_log_4 ON er_retry_task_log (namespace_id, group_name, unique_id); -CREATE INDEX idx_retry_task_log_5 ON er_retry_task_log (biz_no); -CREATE INDEX idx_retry_task_log_6 ON er_retry_task_log (create_dt); - -COMMENT ON TABLE er_retry_task_log IS '任务日志基础信息表'; -COMMENT ON COLUMN er_retry_task_log.id IS '主键'; -COMMENT ON COLUMN er_retry_task_log.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_retry_task_log.unique_id IS '同组下id唯一'; -COMMENT ON COLUMN er_retry_task_log.group_name IS '组名称'; -COMMENT ON COLUMN er_retry_task_log.scene_name IS '场景名称'; -COMMENT ON COLUMN er_retry_task_log.idempotent_id IS '幂等id'; -COMMENT ON COLUMN er_retry_task_log.biz_no IS '业务编号'; -COMMENT ON COLUMN er_retry_task_log.executor_name IS '执行器名称'; -COMMENT ON COLUMN er_retry_task_log.args_str IS '执行方法参数'; -COMMENT ON COLUMN er_retry_task_log.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN er_retry_task_log.retry_status IS '重试状态 0、重试中 1、成功 2、最大次数'; -COMMENT ON COLUMN er_retry_task_log.task_type IS '任务类型 1、重试数据 2、回调数据'; -COMMENT ON COLUMN er_retry_task_log.create_dt IS '创建时间'; -COMMENT ON COLUMN er_retry_task_log.update_dt IS '修改时间'; - --- er_retry_task_log_message -CREATE TABLE er_retry_task_log_message -( - id NUMBER GENERATED ALWAYS AS IDENTITY, - namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR2(64) NOT NULL, - unique_id VARCHAR2(64) NOT NULL, - create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - message CLOB DEFAULT '', - log_num INT DEFAULT 1, - real_time NUMERIC(13) DEFAULT 0 -); - -CREATE INDEX idx_retry_task_log_message_1 ON er_retry_task_log_message (namespace_id, group_name, unique_id); -CREATE INDEX idx_retry_task_log_message_2 ON er_retry_task_log_message (create_dt); - -COMMENT ON TABLE er_retry_task_log_message IS '任务调度日志信息记录表'; -COMMENT ON COLUMN er_retry_task_log_message.id IS '主键'; -COMMENT ON COLUMN er_retry_task_log_message.namespace_id IS '命名空间'; -COMMENT ON COLUMN er_retry_task_log_message.group_name IS '组名称'; -COMMENT ON COLUMN er_retry_task_log_message.unique_id IS '同组下id唯一'; -COMMENT ON COLUMN er_retry_task_log_message.create_dt IS '创建时间'; -COMMENT ON COLUMN er_retry_task_log_message.message IS '异常信息'; -COMMENT ON COLUMN er_retry_task_log_message.log_num IS '日志数量'; -COMMENT ON COLUMN er_retry_task_log_message.real_time IS '上报时间'; - --- er_scene_config -CREATE TABLE er_scene_config -( - id NUMBER GENERATED ALWAYS AS IDENTITY, - namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - scene_name VARCHAR2(64) NOT NULL, - group_name VARCHAR2(64) NOT NULL, - scene_status SMALLINT DEFAULT 0, - max_retry_count INT DEFAULT 5, - back_off SMALLINT DEFAULT 1, - trigger_interval VARCHAR2(16) DEFAULT '', - deadline_request NUMBER(20) DEFAULT 60000, - route_key SMALLINT DEFAULT 4, - executor_timeout INT DEFAULT 5, - description VARCHAR2(256) DEFAULT '', - create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_scene_config_1 ON er_scene_config (namespace_id, group_name, scene_name); - -COMMENT ON TABLE er_scene_config IS '场景配置'; -COMMENT ON COLUMN er_scene_config.id IS '主键'; -COMMENT ON COLUMN er_scene_config.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_scene_config.scene_name IS '场景名称'; -COMMENT ON COLUMN er_scene_config.group_name IS '组名称'; -COMMENT ON COLUMN er_scene_config.scene_status IS '组状态 0、未启用 1、启用'; -COMMENT ON COLUMN er_scene_config.max_retry_count IS '最大重试次数'; -COMMENT ON COLUMN er_scene_config.back_off IS '1、默认等级 2、固定间隔时间 3、CRON 表达式'; -COMMENT ON COLUMN er_scene_config.trigger_interval IS '间隔时长'; -COMMENT ON COLUMN er_scene_config.deadline_request IS 'Deadline Request 调用链超时 单位毫秒'; -COMMENT ON COLUMN er_scene_config.description IS '描述'; -COMMENT ON COLUMN er_scene_config.route_key IS '路由策略'; -COMMENT ON COLUMN er_scene_config.executor_timeout IS '超时时间'; -COMMENT ON COLUMN er_scene_config.create_dt IS '创建时间'; -COMMENT ON COLUMN er_scene_config.update_dt IS '修改时间'; - --- er_server_node -CREATE TABLE er_server_node -( - id NUMBER GENERATED ALWAYS AS IDENTITY, - namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR2(64) NOT NULL, - host_id VARCHAR2(64) NOT NULL, - host_ip VARCHAR2(64) NOT NULL, - context_path VARCHAR2(256) DEFAULT '/', - host_port INT NOT NULL, - expire_at TIMESTAMP NOT NULL, - node_type SMALLINT NOT NULL, - ext_attrs VARCHAR2(256) DEFAULT '', - create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_server_node_1 ON er_server_node (host_id, host_ip); -CREATE INDEX idx_server_node_1 ON er_server_node (expire_at, node_type); -CREATE INDEX idx_server_node_2 ON er_server_node (namespace_id, group_name); - -COMMENT ON TABLE er_server_node IS '服务器节点'; -COMMENT ON COLUMN er_server_node.id IS '主键'; -COMMENT ON COLUMN er_server_node.group_name IS '组名称'; -COMMENT ON COLUMN er_server_node.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_server_node.host_id IS '主机id'; -COMMENT ON COLUMN er_server_node.host_ip IS '机器ip'; -COMMENT ON COLUMN er_server_node.context_path IS '客户端上下文路径 server.servlet.context-path'; -COMMENT ON COLUMN er_server_node.host_port IS '机器端口'; -COMMENT ON COLUMN er_server_node.expire_at IS '过期时间'; -COMMENT ON COLUMN er_server_node.node_type IS '节点类型 1、客户端 2、是服务端'; -COMMENT ON COLUMN er_server_node.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN er_server_node.create_dt IS '创建时间'; -COMMENT ON COLUMN er_server_node.update_dt IS '修改时间'; - --- er_distributed_lock -CREATE TABLE er_distributed_lock -( - id NUMBER GENERATED ALWAYS AS IDENTITY, - name VARCHAR2(64) NOT NULL, - lock_until TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - locked_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - locked_by VARCHAR2(255) NOT NULL, - create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP -); - -ALTER TABLE er_distributed_lock - ADD CONSTRAINT uk_name_distributed_lock UNIQUE (name); - -COMMENT ON TABLE er_distributed_lock IS '锁定表'; -COMMENT ON COLUMN er_distributed_lock.id IS '主键'; -COMMENT ON COLUMN er_distributed_lock.name IS '锁名称'; -COMMENT ON COLUMN er_distributed_lock.lock_until IS '锁定时长'; -COMMENT ON COLUMN er_distributed_lock.locked_at IS '锁定时间'; -COMMENT ON COLUMN er_distributed_lock.locked_by IS '锁定者'; -COMMENT ON COLUMN er_distributed_lock.create_dt IS '创建时间'; -COMMENT ON COLUMN er_distributed_lock.update_dt IS '修改时间'; - --- er_system_user -CREATE TABLE er_system_user -( - id NUMBER GENERATED ALWAYS AS IDENTITY, - username VARCHAR2(64) NOT NULL, - password VARCHAR2(128) NOT NULL, - role SMALLINT DEFAULT 0, - create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_system_user_1 ON er_system_user (username); - -COMMENT ON TABLE er_system_user IS '系统用户表'; -COMMENT ON COLUMN er_system_user.id IS '主键'; -COMMENT ON COLUMN er_system_user.username IS '账号'; -COMMENT ON COLUMN er_system_user.password IS '密码'; -COMMENT ON COLUMN er_system_user.role IS '角色:1-普通用户、2-管理员'; -COMMENT ON COLUMN er_system_user.create_dt IS '创建时间'; -COMMENT ON COLUMN er_system_user.update_dt IS '修改时间'; - --- er_pwd: admin -INSERT INTO er_system_user(username, password, role, create_dt, update_dt) VALUES ('admin', '465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', 2, SYSDATE, SYSDATE); - --- er_system_user_permission -CREATE TABLE er_system_user_permission -( - id NUMBER GENERATED ALWAYS AS IDENTITY, - namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR2(64) NOT NULL, - system_user_id NUMBER(20) NOT NULL, - create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_system_user_permission_1 ON er_system_user_permission (namespace_id, group_name, system_user_id); - -COMMENT ON TABLE er_system_user_permission IS '系统用户权限表'; -COMMENT ON COLUMN er_system_user_permission.id IS '主键'; -COMMENT ON COLUMN er_system_user_permission.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_system_user_permission.group_name IS '组名称'; -COMMENT ON COLUMN er_system_user_permission.system_user_id IS '系统用户id'; -COMMENT ON COLUMN er_system_user_permission.create_dt IS '创建时间'; -COMMENT ON COLUMN er_system_user_permission.update_dt IS '修改时间'; - --- er_sequence_alloc -CREATE TABLE er_sequence_alloc -( - id NUMBER GENERATED ALWAYS AS IDENTITY, - namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR2(64) DEFAULT '', - max_id NUMBER(20) DEFAULT 1, - step INT DEFAULT 100, - update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_sequence_alloc_1 ON er_sequence_alloc (namespace_id, group_name); - -COMMENT ON TABLE er_sequence_alloc IS '号段模式序号ID分配表'; -COMMENT ON COLUMN er_sequence_alloc.id IS '主键'; -COMMENT ON COLUMN er_sequence_alloc.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_sequence_alloc.group_name IS '组名称'; -COMMENT ON COLUMN er_sequence_alloc.max_id IS '最大id'; -COMMENT ON COLUMN er_sequence_alloc.step IS '步长'; -COMMENT ON COLUMN er_sequence_alloc.update_dt IS '更新时间'; - --- er_job -CREATE TABLE er_job -( - id NUMBER GENERATED ALWAYS AS IDENTITY, - namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR2(64) NOT NULL, - job_name VARCHAR2(64) NOT NULL, - args_str CLOB DEFAULT '', - args_type SMALLINT DEFAULT 1, - next_trigger_at NUMBER(20) NOT NULL, - job_status SMALLINT DEFAULT 1, - task_type SMALLINT DEFAULT 1, - route_key SMALLINT DEFAULT 4, - executor_type SMALLINT DEFAULT 1, - executor_info VARCHAR2(255) DEFAULT NULL, - trigger_type SMALLINT NOT NULL, - trigger_interval VARCHAR2(255) NOT NULL, - block_strategy SMALLINT DEFAULT 1, - executor_timeout INT DEFAULT 0, - max_retry_times INT DEFAULT 0, - parallel_num INT DEFAULT 1, - retry_interval INT DEFAULT 0, - bucket_index INT DEFAULT 0, - resident SMALLINT DEFAULT 0, - description VARCHAR2(256) DEFAULT '', - ext_attrs VARCHAR2(256) DEFAULT '', - create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - deleted SMALLINT DEFAULT 0 -); - -CREATE INDEX idx_job_1 ON er_job (namespace_id, group_name); -CREATE INDEX idx_job_2 ON er_job (job_status, bucket_index); -CREATE INDEX idx_job_3 ON er_job (create_dt); - -COMMENT ON TABLE er_job IS '任务信息'; -COMMENT ON COLUMN er_job.id IS '主键'; -COMMENT ON COLUMN er_job.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_job.group_name IS '组名称'; -COMMENT ON COLUMN er_job.job_name IS '名称'; -COMMENT ON COLUMN er_job.args_str IS '执行方法参数'; -COMMENT ON COLUMN er_job.args_type IS '参数类型'; -COMMENT ON COLUMN er_job.next_trigger_at IS '下次触发时间'; -COMMENT ON COLUMN er_job.job_status IS '重试状态 0、关闭、1、开启'; -COMMENT ON COLUMN er_job.task_type IS '任务类型 1、集群 2、广播 3、切片'; -COMMENT ON COLUMN er_job.route_key IS '路由策略'; -COMMENT ON COLUMN er_job.executor_type IS '执行器类型'; -COMMENT ON COLUMN er_job.executor_info IS '执行器名称'; -COMMENT ON COLUMN er_job.trigger_type IS '触发类型 1.CRON 表达式 2. 固定时间'; -COMMENT ON COLUMN er_job.trigger_interval IS '间隔时长'; -COMMENT ON COLUMN er_job.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行'; -COMMENT ON COLUMN er_job.executor_timeout IS '任务执行超时时间,单位秒'; -COMMENT ON COLUMN er_job.max_retry_times IS '最大重试次数'; -COMMENT ON COLUMN er_job.parallel_num IS '并行数'; -COMMENT ON COLUMN er_job.retry_interval IS '更新重试间隔(s)'; -COMMENT ON COLUMN er_job.bucket_index IS 'bucket'; -COMMENT ON COLUMN er_job.resident IS '是否是常驻任务'; -COMMENT ON COLUMN er_job.description IS '描述'; -COMMENT ON COLUMN er_job.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN er_job.create_dt IS '创建时间'; -COMMENT ON COLUMN er_job.update_dt IS '更新时间'; -COMMENT ON COLUMN er_job.deleted IS '逻辑删除 1、删除'; - -INSERT INTO er_job (namespace_id, group_name, job_name, args_str, args_type, next_trigger_at, job_status, task_type, route_key, executor_type, executor_info, trigger_type, trigger_interval, block_strategy,executor_timeout, max_retry_times, parallel_num, retry_interval, bucket_index, resident, description, ext_attrs, create_dt, update_dt, deleted) -VALUES ('dev', 'ruoyi_group', 'demo-job', NULL, 1, 1710344035622, 1, 1, 4, 1, 'testJobExecutor', 2, '60', 1, 60, 3, 1, 1, 116, 0, '', '', SYSDATE, SYSDATE, 0); - - --- er_job_log_message -CREATE TABLE er_job_log_message -( - id NUMBER GENERATED ALWAYS AS IDENTITY, - namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR2(64) NOT NULL, - job_id NUMBER(20) NOT NULL, - task_batch_id NUMBER(20) NOT NULL, - task_id NUMBER(20) NOT NULL, - message CLOB DEFAULT '', - log_num INT DEFAULT 1, - real_time NUMBER(20) DEFAULT 0, - ext_attrs VARCHAR2(256) DEFAULT '', - create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP -); - -CREATE INDEX idx_job_log_message_1 ON er_job_log_message (namespace_id, group_name); -CREATE INDEX idx_job_log_message_2 ON er_job_log_message (task_batch_id, task_id); -CREATE INDEX idx_job_log_message_3 ON er_job_log_message (create_dt); - -COMMENT ON TABLE er_job_log_message IS '调度日志'; -COMMENT ON COLUMN er_job_log_message.id IS '主键'; -COMMENT ON COLUMN er_job_log_message.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_job_log_message.group_name IS '组名称'; -COMMENT ON COLUMN er_job_log_message.job_id IS '任务信息id'; -COMMENT ON COLUMN er_job_log_message.task_batch_id IS '任务批次id'; -COMMENT ON COLUMN er_job_log_message.task_id IS '调度任务id'; -COMMENT ON COLUMN er_job_log_message.message IS '调度信息'; -COMMENT ON COLUMN er_job_log_message.log_num IS '日志序号'; -COMMENT ON COLUMN er_job_log_message.real_time IS '实际时间'; -COMMENT ON COLUMN er_job_log_message.create_dt IS '创建时间'; -COMMENT ON COLUMN er_job_log_message.ext_attrs IS '扩展字段'; - --- er_job_task -CREATE TABLE er_job_task -( - id NUMBER GENERATED ALWAYS AS IDENTITY, - namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR2(64) NOT NULL, - job_id NUMBER(20) NOT NULL, - task_batch_id NUMBER(20) NOT NULL, - parent_id NUMBER(20) DEFAULT 0, - task_status SMALLINT DEFAULT 0, - retry_count INT DEFAULT 0, - client_info VARCHAR2(128) DEFAULT NULL, - result_message CLOB DEFAULT '', - args_str CLOB DEFAULT '', - args_type SMALLINT DEFAULT 1, - ext_attrs VARCHAR2(256) DEFAULT '', - create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP -); - -CREATE INDEX idx_job_task_1 ON er_job_task (namespace_id, group_name); -CREATE INDEX idx_job_task_2 ON er_job_task (task_batch_id, task_status); -CREATE INDEX idx_job_task_3 ON er_job_task (create_dt); - -COMMENT ON TABLE er_job_task IS '任务实例'; -COMMENT ON COLUMN er_job_task.id IS '主键'; -COMMENT ON COLUMN er_job_task.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_job_task.group_name IS '组名称'; -COMMENT ON COLUMN er_job_task.job_id IS '任务信息id'; -COMMENT ON COLUMN er_job_task.task_batch_id IS '任务批次id'; -COMMENT ON COLUMN er_job_task.parent_id IS '父执行器id'; -COMMENT ON COLUMN er_job_task.task_status IS '执行的状态 0、失败 1、成功'; -COMMENT ON COLUMN er_job_task.retry_count IS '重试次数'; -COMMENT ON COLUMN er_job_task.client_info IS '客户端地址 clientId#ip:port'; -COMMENT ON COLUMN er_job_task.result_message IS '调度信息'; -COMMENT ON COLUMN er_job_task.args_str IS '执行方法参数'; -COMMENT ON COLUMN er_job_task.args_type IS '参数类型'; -COMMENT ON COLUMN er_job_task.create_dt IS '创建时间'; -COMMENT ON COLUMN er_job_task.update_dt IS '创建时间'; -COMMENT ON COLUMN er_job_task.ext_attrs IS '扩展字段'; - --- er_job_task_batch -CREATE TABLE er_job_task_batch -( - id NUMBER GENERATED ALWAYS AS IDENTITY, - namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR2(64) NOT NULL, - job_id NUMBER(20) NOT NULL, - workflow_node_id NUMBER(20) DEFAULT 0, - parent_workflow_node_id NUMBER(20) DEFAULT 0, - workflow_task_batch_id NUMBER(20) DEFAULT 0, - parent_id VARCHAR2(64) DEFAULT '', - task_batch_status SMALLINT DEFAULT 0, - operation_reason SMALLINT DEFAULT 0, - execution_at NUMBER(20) DEFAULT 0, - system_task_type SMALLINT DEFAULT 3, - ext_attrs VARCHAR2(256) DEFAULT '', - deleted SMALLINT DEFAULT 0, - create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP -); - -CREATE INDEX idx_job_task_batch_1 ON er_job_task_batch (namespace_id, group_name); -CREATE INDEX idx_job_task_batch_2 ON er_job_task_batch (job_id, task_batch_status); -CREATE INDEX idx_job_task_batch_3 ON er_job_task_batch (create_dt); -CREATE INDEX idx_job_task_batch_4 ON er_job_task_batch (workflow_task_batch_id, workflow_node_id); - -COMMENT ON TABLE er_job_task_batch IS '任务批次'; -COMMENT ON COLUMN er_job_task_batch.id IS '主键'; -COMMENT ON COLUMN er_job_task_batch.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_job_task_batch.group_name IS '组名称'; -COMMENT ON COLUMN er_job_task_batch.job_id IS '任务信息id'; -COMMENT ON COLUMN er_job_task_batch.task_batch_status IS '任务批次状态 0、失败 1、成功'; -COMMENT ON COLUMN er_job_task_batch.operation_reason IS '操作原因'; -COMMENT ON COLUMN er_job_task_batch.workflow_node_id IS '工作流节点id'; -COMMENT ON COLUMN er_job_task_batch.parent_workflow_node_id IS '父节点'; -COMMENT ON COLUMN er_job_task_batch.workflow_task_batch_id IS '任务批次id'; -COMMENT ON COLUMN er_job_task_batch.system_task_type IS '任务类型 0、系统任务 1、业务任务'; -COMMENT ON COLUMN er_job_task_batch.execution_at IS '任务执行时间'; -COMMENT ON COLUMN er_job_task_batch.parent_id IS '父节点'; -COMMENT ON COLUMN er_job_task_batch.deleted IS '逻辑删除 1、删除'; -COMMENT ON COLUMN er_job_task_batch.create_dt IS '创建时间'; -COMMENT ON COLUMN er_job_task_batch.update_dt IS '创建时间'; -COMMENT ON COLUMN er_job_task_batch.ext_attrs IS '扩展字段'; - -CREATE TABLE er_job_notify_config -( - id NUMBER GENERATED ALWAYS AS IDENTITY, - namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR2(64) NOT NULL, - job_id NUMBER(20) NOT NULL, - notify_status SMALLINT DEFAULT 0, - notify_type SMALLINT DEFAULT 0, - notify_attribute VARCHAR2(512) NOT NULL, - notify_threshold INT DEFAULT 0, - notify_scene SMALLINT DEFAULT 0, - rate_limiter_status SMALLINT DEFAULT 0, - rate_limiter_threshold INT DEFAULT 0, - description VARCHAR2(256) DEFAULT '', - create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP -); - -CREATE INDEX idx_job_notify_config_1 ON er_job_notify_config (namespace_id, group_name, job_id); - -COMMENT ON TABLE er_job_notify_config IS '通知配置'; -COMMENT ON COLUMN er_job_notify_config.id IS '主键'; -COMMENT ON COLUMN er_job_notify_config.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_job_notify_config.group_name IS '组名称'; -COMMENT ON COLUMN er_job_notify_config.job_id IS '任务信息id'; -COMMENT ON COLUMN er_job_notify_config.notify_status IS '通知状态 0、未启用 1、启用'; -COMMENT ON COLUMN er_job_notify_config.notify_type IS '通知类型 1、钉钉 2、邮件 3、企业微信'; -COMMENT ON COLUMN er_job_notify_config.notify_attribute IS '配置属性'; -COMMENT ON COLUMN er_job_notify_config.notify_threshold IS '通知阈值'; -COMMENT ON COLUMN er_job_notify_config.notify_scene IS '通知场景'; -COMMENT ON COLUMN er_job_notify_config.rate_limiter_status IS '限流状态 0、未启用 1、启用'; -COMMENT ON COLUMN er_job_notify_config.rate_limiter_threshold IS '每秒限流阈值'; -COMMENT ON COLUMN er_job_notify_config.description IS '描述'; -COMMENT ON COLUMN er_job_notify_config.create_dt IS '创建时间'; -COMMENT ON COLUMN er_job_notify_config.update_dt IS '修改时间'; - --- er_retry_summary -CREATE TABLE er_retry_summary -( - id NUMBER GENERATED ALWAYS AS IDENTITY, - namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR2(64) DEFAULT '', - scene_name VARCHAR2(50) DEFAULT '', - trigger_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - running_num INT DEFAULT 0, - finish_num INT DEFAULT 0, - max_count_num INT DEFAULT 0, - suspend_num INT DEFAULT 0, - create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_retry_summary_1 ON er_retry_summary (namespace_id, group_name, scene_name, trigger_at); - -COMMENT ON TABLE er_retry_summary IS 'DashBoard_Retry'; -COMMENT ON COLUMN er_retry_summary.id IS '主键'; -COMMENT ON COLUMN er_retry_summary.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_retry_summary.group_name IS '组名称'; -COMMENT ON COLUMN er_retry_summary.scene_name IS '场景名称'; -COMMENT ON COLUMN er_retry_summary.trigger_at IS '统计时间'; -COMMENT ON COLUMN er_retry_summary.running_num IS '重试中-日志数量'; -COMMENT ON COLUMN er_retry_summary.finish_num IS '重试完成-日志数量'; -COMMENT ON COLUMN er_retry_summary.max_count_num IS '重试到达最大次数-日志数量'; -COMMENT ON COLUMN er_retry_summary.suspend_num IS '暂停重试-日志数量'; -COMMENT ON COLUMN er_retry_summary.create_dt IS '创建时间'; -COMMENT ON COLUMN er_retry_summary.update_dt IS '修改时间'; - --- er_job_summary -CREATE TABLE er_job_summary -( - id NUMBER GENERATED ALWAYS AS IDENTITY, - namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR2(64) DEFAULT '', - business_id NUMBER(20) NOT NULL, - system_task_type SMALLINT DEFAULT '3', - trigger_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - success_num INT DEFAULT 0, - fail_num INT DEFAULT 0, - fail_reason VARCHAR2(512) DEFAULT '', - stop_num INT DEFAULT 0, - stop_reason VARCHAR2(512) DEFAULT '', - cancel_num INT DEFAULT 0, - cancel_reason VARCHAR2(512) DEFAULT '', - create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_job_summary_1 ON er_job_summary (trigger_at, system_task_type, business_id); -CREATE INDEX idx_job_summary_1 ON er_job_summary (namespace_id, group_name, business_id); - -COMMENT ON TABLE er_job_summary IS 'DashBoard_Job'; -COMMENT ON COLUMN er_job_summary.id IS '主键'; -COMMENT ON COLUMN er_job_summary.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_job_summary.group_name IS '组名称'; -COMMENT ON COLUMN er_job_summary.business_id IS '业务id (job_id或workflow_id)'; -COMMENT ON COLUMN er_job_summary.system_task_type IS '任务类型 3、JOB任务 4、WORKFLOW任务'; -COMMENT ON COLUMN er_job_summary.trigger_at IS '统计时间'; -COMMENT ON COLUMN er_job_summary.success_num IS '执行成功-日志数量'; -COMMENT ON COLUMN er_job_summary.fail_num IS '执行失败-日志数量'; -COMMENT ON COLUMN er_job_summary.fail_reason IS '失败原因'; -COMMENT ON COLUMN er_job_summary.stop_num IS '执行失败-日志数量'; -COMMENT ON COLUMN er_job_summary.stop_reason IS '失败原因'; -COMMENT ON COLUMN er_job_summary.cancel_num IS '执行失败-日志数量'; -COMMENT ON COLUMN er_job_summary.cancel_reason IS '失败原因'; - --- er_workflow -CREATE TABLE er_workflow -( - id NUMBER GENERATED ALWAYS AS IDENTITY, - workflow_name VARCHAR2(64) NOT NULL, - namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR2(64) NOT NULL, - workflow_status SMALLINT DEFAULT 1, - trigger_type SMALLINT NOT NULL, - trigger_interval VARCHAR2(255) NOT NULL, - next_trigger_at NUMBER(20) NOT NULL, - block_strategy SMALLINT DEFAULT 1, - executor_timeout INT DEFAULT 0, - description VARCHAR2(256) DEFAULT '', - flow_info CLOB DEFAULT '', - bucket_index INT DEFAULT 0, - version INT NOT NULL, - create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - deleted SMALLINT DEFAULT 0, - ext_attrs VARCHAR2(256) DEFAULT '' -); - -CREATE INDEX idx_workflow_1 ON er_workflow (create_dt); -CREATE INDEX idx_workflow_2 ON er_workflow (namespace_id, group_name); - -COMMENT ON TABLE er_workflow IS '工作流'; -COMMENT ON COLUMN er_workflow.id IS '主键'; -COMMENT ON COLUMN er_workflow.workflow_name IS '工作流名称'; -COMMENT ON COLUMN er_workflow.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_workflow.group_name IS '组名称'; -COMMENT ON COLUMN er_workflow.workflow_status IS '工作流状态 0、关闭、1、开启'; -COMMENT ON COLUMN er_workflow.trigger_type IS '触发类型 1.CRON 表达式 2. 固定时间'; -COMMENT ON COLUMN er_workflow.trigger_interval IS '间隔时长'; -COMMENT ON COLUMN er_workflow.next_trigger_at IS '下次触发时间'; -COMMENT ON COLUMN er_workflow.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行'; -COMMENT ON COLUMN er_workflow.executor_timeout IS '任务执行超时时间,单位秒'; -COMMENT ON COLUMN er_workflow.description IS '描述'; -COMMENT ON COLUMN er_workflow.flow_info IS '流程信息'; -COMMENT ON COLUMN er_workflow.bucket_index IS 'bucket'; -COMMENT ON COLUMN er_workflow.version IS '版本号'; -COMMENT ON COLUMN er_workflow.create_dt IS '创建时间'; -COMMENT ON COLUMN er_workflow.update_dt IS '修改时间'; -COMMENT ON COLUMN er_workflow.deleted IS '逻辑删除 1、删除'; -COMMENT ON COLUMN er_workflow.ext_attrs IS '扩展字段'; - --- er_workflow_node -CREATE TABLE er_workflow_node -( - id NUMBER GENERATED ALWAYS AS IDENTITY, - namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - node_name VARCHAR2(64) NOT NULL, - group_name VARCHAR2(64) NOT NULL, - job_id NUMBER(20) NOT NULL, - workflow_id NUMBER(20) NOT NULL, - node_type SMALLINT DEFAULT 1, - expression_type SMALLINT DEFAULT 0, - fail_strategy SMALLINT DEFAULT 1, - workflow_node_status SMALLINT DEFAULT 1, - priority_level INT DEFAULT 1, - node_info CLOB DEFAULT '', - version INT NOT NULL, - create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - deleted SMALLINT DEFAULT 0, - ext_attrs VARCHAR2(256) DEFAULT '' -); - -CREATE INDEX idx_workflow_node_1 ON er_workflow_node (create_dt); -CREATE INDEX idx_workflow_node_2 ON er_workflow_node (namespace_id, group_name); - -COMMENT ON TABLE er_workflow_node IS '工作流节点'; -COMMENT ON COLUMN er_workflow_node.id IS '主键'; -COMMENT ON COLUMN er_workflow_node.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_workflow_node.node_name IS '节点名称'; -COMMENT ON COLUMN er_workflow_node.group_name IS '组名称'; -COMMENT ON COLUMN er_workflow_node.job_id IS '任务信息id'; -COMMENT ON COLUMN er_workflow_node.workflow_id IS '工作流ID'; -COMMENT ON COLUMN er_workflow_node.node_type IS '1、任务节点 2、条件节点'; -COMMENT ON COLUMN er_workflow_node.expression_type IS '1、SpEl、2、Aviator 3、QL'; -COMMENT ON COLUMN er_workflow_node.fail_strategy IS '失败策略 1、跳过 2、阻塞'; -COMMENT ON COLUMN er_workflow_node.workflow_node_status IS '工作流节点状态 0、关闭、1、开启'; -COMMENT ON COLUMN er_workflow_node.priority_level IS '优先级'; -COMMENT ON COLUMN er_workflow_node.node_info IS '节点信息'; -COMMENT ON COLUMN er_workflow_node.version IS '版本号'; -COMMENT ON COLUMN er_workflow_node.create_dt IS '创建时间'; -COMMENT ON COLUMN er_workflow_node.update_dt IS '修改时间'; -COMMENT ON COLUMN er_workflow_node.deleted IS '逻辑删除 1、删除'; -COMMENT ON COLUMN er_workflow_node.ext_attrs IS '扩展字段'; - --- er_workflow_task_batch -CREATE TABLE er_workflow_task_batch -( - id NUMBER GENERATED ALWAYS AS IDENTITY, - namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR2(64) NOT NULL, - workflow_id NUMBER(20) NOT NULL, - task_batch_status SMALLINT DEFAULT 0, - operation_reason SMALLINT DEFAULT 0, - flow_info CLOB DEFAULT '', - execution_at NUMBER(20) DEFAULT 0, - create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - deleted SMALLINT DEFAULT 0, - ext_attrs VARCHAR2(256) DEFAULT '' -); - -CREATE INDEX idx_workflow_task_batch_1 ON er_workflow_task_batch (workflow_id, task_batch_status); -CREATE INDEX idx_workflow_task_batch_2 ON er_workflow_task_batch (create_dt); -CREATE INDEX idx_workflow_task_batch_3 ON er_workflow_task_batch (namespace_id, group_name); - -COMMENT ON TABLE er_workflow_task_batch IS '工作流批次'; -COMMENT ON COLUMN er_workflow_task_batch.id IS '主键'; -COMMENT ON COLUMN er_workflow_task_batch.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_workflow_task_batch.group_name IS '组名称'; -COMMENT ON COLUMN er_workflow_task_batch.workflow_id IS '工作流任务id'; -COMMENT ON COLUMN er_workflow_task_batch.task_batch_status IS '任务批次状态 0、失败 1、成功'; -COMMENT ON COLUMN er_workflow_task_batch.operation_reason IS '操作原因'; -COMMENT ON COLUMN er_workflow_task_batch.flow_info IS '流程信息'; -COMMENT ON COLUMN er_workflow_task_batch.execution_at IS '任务执行时间'; -COMMENT ON COLUMN er_workflow_task_batch.create_dt IS '创建时间'; -COMMENT ON COLUMN er_workflow_task_batch.update_dt IS '修改时间'; -COMMENT ON COLUMN er_workflow_task_batch.deleted IS '逻辑删除 1、删除'; -COMMENT ON COLUMN er_workflow_task_batch.ext_attrs IS '扩展字段'; diff --git a/sql/oracle/oracle_ry_job.sql b/sql/oracle/oracle_ry_job.sql index 7a5419d81..ad41d7fd2 100644 --- a/sql/oracle/oracle_ry_job.sql +++ b/sql/oracle/oracle_ry_job.sql @@ -1,694 +1,830 @@ --- ---------------------------- --- Table structure for PJ_APP_INFO --- ---------------------------- -CREATE TABLE "PJ_APP_INFO" ( - "ID" NUMBER(19) VISIBLE NOT NULL , - "APP_NAME" VARCHAR2(255 CHAR) VISIBLE , - "CURRENT_SERVER" VARCHAR2(255 CHAR) VISIBLE , - "GMT_CREATE" TIMESTAMP(6) VISIBLE , - "GMT_MODIFIED" TIMESTAMP(6) VISIBLE , - "PASSWORD" VARCHAR2(255 CHAR) VISIBLE -) -TABLESPACE "ROOT" -LOGGING -NOCOMPRESS -PCTFREE 10 -INITRANS 1 -STORAGE ( - INITIAL 65536 - NEXT 1048576 - MINEXTENTS 1 - MAXEXTENTS 2147483645 - BUFFER_POOL DEFAULT -) -PARALLEL 1 -NOCACHE -DISABLE ROW MOVEMENT -; +-- Oracle DDL --- ---------------------------- --- Records of "PJ_APP_INFO" --- ---------------------------- -INSERT INTO "PJ_APP_INFO" VALUES ('1', 'ruoyi-worker', '127.0.0.1:10010', NULL, NULL, '123456'); +-- er_namespace +CREATE TABLE er_namespace +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + name VARCHAR2(64) NOT NULL, + unique_id VARCHAR2(64) NOT NULL, + description VARCHAR2(256) DEFAULT '', + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + deleted SMALLINT DEFAULT 0 +); --- ---------------------------- --- Table structure for PJ_CONTAINER_INFO --- ---------------------------- -CREATE TABLE "PJ_CONTAINER_INFO" ( - "ID" NUMBER(19) VISIBLE NOT NULL , - "APP_ID" NUMBER(19) VISIBLE , - "CONTAINER_NAME" VARCHAR2(255 CHAR) VISIBLE , - "GMT_CREATE" TIMESTAMP(6) VISIBLE , - "GMT_MODIFIED" TIMESTAMP(6) VISIBLE , - "LAST_DEPLOY_TIME" TIMESTAMP(6) VISIBLE , - "SOURCE_INFO" VARCHAR2(255 CHAR) VISIBLE , - "SOURCE_TYPE" NUMBER(10) VISIBLE , - "STATUS" NUMBER(10) VISIBLE , - "VERSION" VARCHAR2(255 CHAR) VISIBLE -) -TABLESPACE "ROOT" -LOGGING -NOCOMPRESS -PCTFREE 10 -INITRANS 1 -STORAGE ( - INITIAL 65536 - NEXT 1048576 - MINEXTENTS 1 - MAXEXTENTS 2147483645 - BUFFER_POOL DEFAULT -) -PARALLEL 1 -NOCACHE -DISABLE ROW MOVEMENT -; +CREATE UNIQUE INDEX uk_namespace_1 ON er_namespace (unique_id); --- ---------------------------- --- Table structure for PJ_INSTANCE_INFO --- ---------------------------- -CREATE TABLE "PJ_INSTANCE_INFO" ( - "ID" NUMBER(19) VISIBLE NOT NULL , - "ACTUAL_TRIGGER_TIME" NUMBER(19) VISIBLE , - "APP_ID" NUMBER(19) VISIBLE , - "EXPECTED_TRIGGER_TIME" NUMBER(19) VISIBLE , - "FINISHED_TIME" NUMBER(19) VISIBLE , - "GMT_CREATE" TIMESTAMP(6) VISIBLE , - "GMT_MODIFIED" TIMESTAMP(6) VISIBLE , - "INSTANCE_ID" NUMBER(19) VISIBLE , - "INSTANCE_PARAMS" CLOB VISIBLE , - "JOB_ID" NUMBER(19) VISIBLE , - "JOB_PARAMS" CLOB VISIBLE , - "LAST_REPORT_TIME" NUMBER(19) VISIBLE , - "RESULT" CLOB VISIBLE , - "RUNNING_TIMES" NUMBER(19) VISIBLE , - "STATUS" NUMBER(10) VISIBLE , - "TASK_TRACKER_ADDRESS" VARCHAR2(255 CHAR) VISIBLE , - "TYPE" NUMBER(10) VISIBLE , - "WF_INSTANCE_ID" NUMBER(19) VISIBLE -) -TABLESPACE "ROOT" -LOGGING -NOCOMPRESS -PCTFREE 10 -INITRANS 1 -STORAGE ( - INITIAL 65536 - NEXT 1048576 - MINEXTENTS 1 - MAXEXTENTS 2147483645 - BUFFER_POOL DEFAULT -) -PARALLEL 1 -NOCACHE -DISABLE ROW MOVEMENT -; +COMMENT ON TABLE er_namespace IS '命名空间'; +COMMENT ON COLUMN er_namespace.id IS '主键'; +COMMENT ON COLUMN er_namespace.name IS '名称'; +COMMENT ON COLUMN er_namespace.unique_id IS '唯一id'; +COMMENT ON COLUMN er_namespace.description IS '描述'; +COMMENT ON COLUMN er_namespace.create_dt IS '创建时间'; +COMMENT ON COLUMN er_namespace.update_dt IS '修改时间'; +COMMENT ON COLUMN er_namespace.deleted IS '逻辑删除 1、删除'; --- ---------------------------- --- Table structure for PJ_JOB_INFO --- ---------------------------- -CREATE TABLE "PJ_JOB_INFO" ( - "ID" NUMBER(19) VISIBLE NOT NULL , - "ALARM_CONFIG" VARCHAR2(255 CHAR) VISIBLE , - "APP_ID" NUMBER(19) VISIBLE , - "CONCURRENCY" NUMBER(10) VISIBLE , - "DESIGNATED_WORKERS" VARCHAR2(255 CHAR) VISIBLE , - "DISPATCH_STRATEGY" NUMBER(10) VISIBLE , - "EXECUTE_TYPE" NUMBER(10) VISIBLE , - "EXTRA" VARCHAR2(255 CHAR) VISIBLE , - "GMT_CREATE" TIMESTAMP(6) VISIBLE , - "GMT_MODIFIED" TIMESTAMP(6) VISIBLE , - "INSTANCE_RETRY_NUM" NUMBER(10) VISIBLE , - "INSTANCE_TIME_LIMIT" NUMBER(19) VISIBLE , - "JOB_DESCRIPTION" VARCHAR2(255 CHAR) VISIBLE , - "JOB_NAME" VARCHAR2(255 CHAR) VISIBLE , - "JOB_PARAMS" CLOB VISIBLE , - "LIFECYCLE" VARCHAR2(255 CHAR) VISIBLE , - "LOG_CONFIG" VARCHAR2(255 CHAR) VISIBLE , - "MAX_INSTANCE_NUM" NUMBER(10) VISIBLE , - "MAX_WORKER_COUNT" NUMBER(10) VISIBLE , - "MIN_CPU_CORES" FLOAT(126) VISIBLE NOT NULL , - "MIN_DISK_SPACE" FLOAT(126) VISIBLE NOT NULL , - "MIN_MEMORY_SPACE" FLOAT(126) VISIBLE NOT NULL , - "NEXT_TRIGGER_TIME" NUMBER(19) VISIBLE , - "NOTIFY_USER_IDS" VARCHAR2(255 CHAR) VISIBLE , - "PROCESSOR_INFO" VARCHAR2(255 CHAR) VISIBLE , - "PROCESSOR_TYPE" NUMBER(10) VISIBLE , - "STATUS" NUMBER(10) VISIBLE , - "TAG" VARCHAR2(255 CHAR) VISIBLE , - "TASK_RETRY_NUM" NUMBER(10) VISIBLE , - "TIME_EXPRESSION" VARCHAR2(255 CHAR) VISIBLE , - "TIME_EXPRESSION_TYPE" NUMBER(10) VISIBLE -) -TABLESPACE "ROOT" -LOGGING -NOCOMPRESS -PCTFREE 10 -INITRANS 1 -STORAGE ( - INITIAL 65536 - NEXT 1048576 - MINEXTENTS 1 - MAXEXTENTS 2147483645 - BUFFER_POOL DEFAULT -) -PARALLEL 1 -NOCACHE -DISABLE ROW MOVEMENT -; +-- id 为 IDENTITY 类型, 不能插入 +INSERT INTO er_namespace(name, unique_id, description, create_dt, update_dt, deleted) VALUES('Development', 'dev', '', sysdate, sysdate, 0 ); +INSERT INTO er_namespace(name, unique_id, description, create_dt, update_dt, deleted) VALUES ('Production', 'prod', '', sysdate, sysdate, 0); --- ---------------------------- --- Records of "PJ_JOB_INFO" --- ---------------------------- -INSERT INTO "PJ_JOB_INFO" VALUES ('1', '{"alertThreshold":0,"silenceWindowLen":0,"statisticWindowLen":0}', '1', '5', NULL, '2', '1', NULL, NULL, NULL, '1', '0', NULL, '单机处理器执行测试', NULL, '{}', '{"type":1}', '0', '0', '0.0000000000000000', '0.0000000000000000', '0.0000000000000000', NULL, NULL, 'org.dromara.job.processors.StandaloneProcessorDemo', '1', '2', NULL, '1', '30000', '3'); -INSERT INTO "PJ_JOB_INFO" VALUES ('2', '{"alertThreshold":0,"silenceWindowLen":0,"statisticWindowLen":0}', '1', '5', NULL, '1', '2', NULL, NULL, NULL, '0', '0', NULL, '广播处理器测试', NULL, '{}', '{"type":1}', '0', '0', '0.0000000000000000', '0.0000000000000000', '0.0000000000000000', NULL, NULL, 'org.dromara.job.processors.BroadcastProcessorDemo', '1', '2', NULL, '1', '30000', '3'); -INSERT INTO "PJ_JOB_INFO" VALUES ('3', '{"alertThreshold":0,"silenceWindowLen":0,"statisticWindowLen":0}', '1', '5', NULL, '1', '4', NULL, NULL, NULL, '0', '0', NULL, 'Map处理器测试', NULL, '{}', '{"type":1}', '0', '0', '0.0000000000000000', '0.0000000000000000', '0.0000000000000000', NULL, NULL, 'org.dromara.job.processors.MapProcessorDemo', '1', '2', NULL, '1', '1000', '3'); -INSERT INTO "PJ_JOB_INFO" VALUES ('4', '{"alertThreshold":0,"silenceWindowLen":0,"statisticWindowLen":0}', '1', '5', NULL, '1', '3', NULL, NULL, NULL, '0', '0', NULL, 'MapReduce处理器测试', NULL, '{}', '{"type":1}', '0', '0', '0.0000000000000000', '0.0000000000000000', '0.0000000000000000', NULL, NULL, 'org.dromara.job.processors.MapReduceProcessorDemo', '1', '2', NULL, '1', '1000', '3'); +-- er_group_config +CREATE TABLE er_group_config +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + description VARCHAR2(256) DEFAULT '', + token VARCHAR2(64) DEFAULT 'ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', + group_status SMALLINT DEFAULT 0, + version INT NOT NULL, + group_partition INT NOT NULL, + id_generator_mode SMALLINT DEFAULT 1, + init_scene SMALLINT DEFAULT 0, + bucket_index INT DEFAULT 0, + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); --- ---------------------------- --- Table structure for PJ_OMS_LOCK --- ---------------------------- -CREATE TABLE "PJ_OMS_LOCK" ( - "ID" NUMBER(19) VISIBLE NOT NULL , - "GMT_CREATE" TIMESTAMP(6) VISIBLE , - "GMT_MODIFIED" TIMESTAMP(6) VISIBLE , - "LOCK_NAME" VARCHAR2(255 CHAR) VISIBLE , - "MAX_LOCK_TIME" NUMBER(19) VISIBLE , - "OWNERIP" VARCHAR2(255 CHAR) VISIBLE -) -TABLESPACE "ROOT" -LOGGING -NOCOMPRESS -PCTFREE 10 -INITRANS 1 -STORAGE ( - INITIAL 65536 - NEXT 1048576 - MINEXTENTS 1 - MAXEXTENTS 2147483645 - BUFFER_POOL DEFAULT -) -PARALLEL 1 -NOCACHE -DISABLE ROW MOVEMENT -; +CREATE UNIQUE INDEX uk_group_config_1 ON er_group_config (namespace_id, group_name); --- ---------------------------- --- Table structure for PJ_SERVER_INFO --- ---------------------------- -CREATE TABLE "PJ_SERVER_INFO" ( - "ID" NUMBER(19) VISIBLE NOT NULL , - "GMT_CREATE" TIMESTAMP(6) VISIBLE , - "GMT_MODIFIED" TIMESTAMP(6) VISIBLE , - "IP" VARCHAR2(255 CHAR) VISIBLE -) -TABLESPACE "ROOT" -LOGGING -NOCOMPRESS -PCTFREE 10 -INITRANS 1 -STORAGE ( - INITIAL 65536 - NEXT 1048576 - MINEXTENTS 1 - MAXEXTENTS 2147483645 - BUFFER_POOL DEFAULT -) -PARALLEL 1 -NOCACHE -DISABLE ROW MOVEMENT -; +COMMENT ON TABLE er_group_config IS '组配置'; +COMMENT ON COLUMN er_group_config.id IS '主键'; +COMMENT ON COLUMN er_group_config.namespace_id IS '命名空间'; +COMMENT ON COLUMN er_group_config.group_name IS '组名称'; +COMMENT ON COLUMN er_group_config.description IS '组描述'; +COMMENT ON COLUMN er_group_config.token IS 'token'; +COMMENT ON COLUMN er_group_config.group_status IS '组状态 0、未启用 1、启用'; +COMMENT ON COLUMN er_group_config.version IS '版本号'; +COMMENT ON COLUMN er_group_config.group_partition IS '分区'; +COMMENT ON COLUMN er_group_config.id_generator_mode IS '唯一id生成模式 默认号段模式'; +COMMENT ON COLUMN er_group_config.init_scene IS '是否初始化场景 0:否 1:是'; +COMMENT ON COLUMN er_group_config.bucket_index IS 'bucket'; +COMMENT ON COLUMN er_group_config.create_dt IS '创建时间'; +COMMENT ON COLUMN er_group_config.update_dt IS '修改时间'; --- ---------------------------- --- Table structure for PJ_USER_INFO --- ---------------------------- -CREATE TABLE "PJ_USER_INFO" ( - "ID" NUMBER(19) VISIBLE NOT NULL , - "EMAIL" VARCHAR2(255 CHAR) VISIBLE , - "EXTRA" VARCHAR2(255 CHAR) VISIBLE , - "GMT_CREATE" TIMESTAMP(6) VISIBLE , - "GMT_MODIFIED" TIMESTAMP(6) VISIBLE , - "PASSWORD" VARCHAR2(255 CHAR) VISIBLE , - "PHONE" VARCHAR2(255 CHAR) VISIBLE , - "USERNAME" VARCHAR2(255 CHAR) VISIBLE , - "WEB_HOOK" VARCHAR2(255 CHAR) VISIBLE -) -TABLESPACE "ROOT" -LOGGING -NOCOMPRESS -PCTFREE 10 -INITRANS 1 -STORAGE ( - INITIAL 65536 - NEXT 1048576 - MINEXTENTS 1 - MAXEXTENTS 2147483645 - BUFFER_POOL DEFAULT -) -PARALLEL 1 -NOCACHE -DISABLE ROW MOVEMENT -; +INSERT INTO er_group_config(namespace_id, group_name, description, token, group_status, version, group_partition, id_generator_mode, init_scene, bucket_index, create_dt, update_dt) VALUES ('dev', 'ruoyi_group', '', 'ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, 4, SYSDATE, SYSDATE ); --- ---------------------------- --- Table structure for PJ_WORKFLOW_INFO --- ---------------------------- -CREATE TABLE "PJ_WORKFLOW_INFO" ( - "ID" NUMBER(19) VISIBLE NOT NULL , - "APP_ID" NUMBER(19) VISIBLE , - "EXTRA" VARCHAR2(255 CHAR) VISIBLE , - "GMT_CREATE" TIMESTAMP(6) VISIBLE , - "GMT_MODIFIED" TIMESTAMP(6) VISIBLE , - "LIFECYCLE" VARCHAR2(255 CHAR) VISIBLE , - "MAX_WF_INSTANCE_NUM" NUMBER(10) VISIBLE , - "NEXT_TRIGGER_TIME" NUMBER(19) VISIBLE , - "NOTIFY_USER_IDS" VARCHAR2(255 CHAR) VISIBLE , - "PEDAG" CLOB VISIBLE , - "STATUS" NUMBER(10) VISIBLE , - "TIME_EXPRESSION" VARCHAR2(255 CHAR) VISIBLE , - "TIME_EXPRESSION_TYPE" NUMBER(10) VISIBLE , - "WF_DESCRIPTION" VARCHAR2(255 CHAR) VISIBLE , - "WF_NAME" VARCHAR2(255 CHAR) VISIBLE -) -TABLESPACE "ROOT" -LOGGING -NOCOMPRESS -PCTFREE 10 -INITRANS 1 -STORAGE ( - INITIAL 65536 - NEXT 1048576 - MINEXTENTS 1 - MAXEXTENTS 2147483645 - BUFFER_POOL DEFAULT -) -PARALLEL 1 -NOCACHE -DISABLE ROW MOVEMENT -; +-- er_notify_config +CREATE TABLE er_notify_config +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + scene_name VARCHAR2(64) NOT NULL, + notify_status SMALLINT DEFAULT 0, + notify_type SMALLINT DEFAULT 0, + notify_attribute VARCHAR2(512) NOT NULL, + notify_threshold INT DEFAULT 0, + notify_scene SMALLINT DEFAULT 0, + rate_limiter_status SMALLINT DEFAULT 0, + rate_limiter_threshold INT DEFAULT 0, + description VARCHAR2(256) DEFAULT '', + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); --- ---------------------------- --- Table structure for PJ_WORKFLOW_INSTANCE_INFO --- ---------------------------- -CREATE TABLE "PJ_WORKFLOW_INSTANCE_INFO" ( - "ID" NUMBER(19) VISIBLE NOT NULL , - "ACTUAL_TRIGGER_TIME" NUMBER(19) VISIBLE , - "APP_ID" NUMBER(19) VISIBLE , - "DAG" CLOB VISIBLE , - "EXPECTED_TRIGGER_TIME" NUMBER(19) VISIBLE , - "FINISHED_TIME" NUMBER(19) VISIBLE , - "GMT_CREATE" TIMESTAMP(6) VISIBLE , - "GMT_MODIFIED" TIMESTAMP(6) VISIBLE , - "PARENT_WF_INSTANCE_ID" NUMBER(19) VISIBLE , - "RESULT" CLOB VISIBLE , - "STATUS" NUMBER(10) VISIBLE , - "WF_CONTEXT" CLOB VISIBLE , - "WF_INIT_PARAMS" CLOB VISIBLE , - "WF_INSTANCE_ID" NUMBER(19) VISIBLE , - "WORKFLOW_ID" NUMBER(19) VISIBLE -) -TABLESPACE "ROOT" -LOGGING -NOCOMPRESS -PCTFREE 10 -INITRANS 1 -STORAGE ( - INITIAL 65536 - NEXT 1048576 - MINEXTENTS 1 - MAXEXTENTS 2147483645 - BUFFER_POOL DEFAULT -) -PARALLEL 1 -NOCACHE -DISABLE ROW MOVEMENT -; +CREATE INDEX idx_notify_config_1 ON er_notify_config (namespace_id, group_name); --- ---------------------------- --- Table structure for PJ_WORKFLOW_NODE_INFO --- ---------------------------- -CREATE TABLE "PJ_WORKFLOW_NODE_INFO" ( - "ID" NUMBER(19) VISIBLE NOT NULL , - "APP_ID" NUMBER(19) VISIBLE NOT NULL , - "ENABLE" NUMBER(1) VISIBLE NOT NULL , - "EXTRA" CLOB VISIBLE , - "GMT_CREATE" TIMESTAMP(6) VISIBLE NOT NULL , - "GMT_MODIFIED" TIMESTAMP(6) VISIBLE NOT NULL , - "JOB_ID" NUMBER(19) VISIBLE , - "NODE_NAME" VARCHAR2(255 CHAR) VISIBLE , - "NODE_PARAMS" CLOB VISIBLE , - "SKIP_WHEN_FAILED" NUMBER(1) VISIBLE NOT NULL , - "TYPE" NUMBER(10) VISIBLE , - "WORKFLOW_ID" NUMBER(19) VISIBLE -) -TABLESPACE "ROOT" -LOGGING -NOCOMPRESS -PCTFREE 10 -INITRANS 1 -STORAGE ( - INITIAL 65536 - NEXT 1048576 - MINEXTENTS 1 - MAXEXTENTS 2147483645 - BUFFER_POOL DEFAULT -) -PARALLEL 1 -NOCACHE -DISABLE ROW MOVEMENT -; +COMMENT ON TABLE er_notify_config IS '通知配置'; +COMMENT ON COLUMN er_notify_config.id IS '主键'; +COMMENT ON COLUMN er_notify_config.group_name IS '组名称'; +COMMENT ON COLUMN er_notify_config.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_notify_config.scene_name IS '场景名称'; +COMMENT ON COLUMN er_notify_config.notify_status IS '通知状态 0、未启用 1、启用'; +COMMENT ON COLUMN er_notify_config.notify_type IS '通知类型 1、钉钉 2、邮件 3、企业微信'; +COMMENT ON COLUMN er_notify_config.notify_attribute IS '配置属性'; +COMMENT ON COLUMN er_notify_config.notify_threshold IS '通知阈值'; +COMMENT ON COLUMN er_notify_config.notify_scene IS '通知场景'; +COMMENT ON COLUMN er_notify_config.rate_limiter_status IS '限流状态 0、未启用 1、启用'; +COMMENT ON COLUMN er_notify_config.rate_limiter_threshold IS '每秒限流阈值'; +COMMENT ON COLUMN er_notify_config.description IS '描述'; +COMMENT ON COLUMN er_notify_config.create_dt IS '创建时间'; +COMMENT ON COLUMN er_notify_config.update_dt IS '修改时间'; --- ---------------------------- --- Primary Key structure for table PJ_APP_INFO --- ---------------------------- -ALTER TABLE "PJ_APP_INFO" ADD CONSTRAINT "SYS_C0012204" PRIMARY KEY ("ID"); +-- er_retry_dead_letter +CREATE TABLE er_retry_dead_letter_0 +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + unique_id VARCHAR2(64) NOT NULL, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + scene_name VARCHAR2(64) NOT NULL, + idempotent_id VARCHAR2(64) NOT NULL, + biz_no VARCHAR2(64) DEFAULT '', + executor_name VARCHAR2(512) DEFAULT '', + args_str CLOB DEFAULT '', + ext_attrs CLOB DEFAULT '', + task_type SMALLINT DEFAULT 1, + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); --- ---------------------------- --- Uniques structure for table PJ_APP_INFO --- ---------------------------- -ALTER TABLE "PJ_APP_INFO" ADD CONSTRAINT "UIDX01_APP_INFO" UNIQUE ("APP_NAME") NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +CREATE UNIQUE INDEX uk_retry_dead_letter_0_1 ON er_retry_dead_letter_0 (namespace_id, group_name, unique_id); +CREATE INDEX idx_retry_dead_letter_0_1 ON er_retry_dead_letter_0 (namespace_id, group_name, scene_name); +CREATE INDEX idx_retry_dead_letter_0_2 ON er_retry_dead_letter_0 (idempotent_id); +CREATE INDEX idx_retry_dead_letter_0_3 ON er_retry_dead_letter_0 (biz_no); +CREATE INDEX idx_retry_dead_letter_0_4 ON er_retry_dead_letter_0 (create_dt); --- ---------------------------- --- Checks structure for table PJ_APP_INFO --- ---------------------------- -ALTER TABLE "PJ_APP_INFO" ADD CONSTRAINT "SYS_C0012203" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +COMMENT ON TABLE er_retry_dead_letter_0 IS '死信队列表'; +COMMENT ON COLUMN er_retry_dead_letter_0.id IS '主键'; +COMMENT ON COLUMN er_retry_dead_letter_0.unique_id IS '同组下id唯一'; +COMMENT ON COLUMN er_retry_dead_letter_0.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_retry_dead_letter_0.group_name IS '组名称'; +COMMENT ON COLUMN er_retry_dead_letter_0.scene_name IS '场景名称'; +COMMENT ON COLUMN er_retry_dead_letter_0.idempotent_id IS '幂等id'; +COMMENT ON COLUMN er_retry_dead_letter_0.biz_no IS '业务编号'; +COMMENT ON COLUMN er_retry_dead_letter_0.executor_name IS '执行器名称'; +COMMENT ON COLUMN er_retry_dead_letter_0.args_str IS '执行方法参数'; +COMMENT ON COLUMN er_retry_dead_letter_0.ext_attrs IS '扩展字段'; +COMMENT ON COLUMN er_retry_dead_letter_0.task_type IS '任务类型 1、重试数据 2、回调数据'; +COMMENT ON COLUMN er_retry_dead_letter_0.create_dt IS '创建时间'; --- ---------------------------- --- Primary Key structure for table PJ_CONTAINER_INFO --- ---------------------------- -ALTER TABLE "PJ_CONTAINER_INFO" ADD CONSTRAINT "SYS_C0012206" PRIMARY KEY ("ID"); +-- er_retry_task +CREATE TABLE er_retry_task_0 +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + unique_id VARCHAR2(64) NOT NULL, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + scene_name VARCHAR2(64) NOT NULL, + idempotent_id VARCHAR2(64) NOT NULL, + biz_no VARCHAR2(64) DEFAULT '', + executor_name VARCHAR2(512) DEFAULT '', + args_str CLOB DEFAULT '', + ext_attrs CLOB DEFAULT '', + next_trigger_at TIMESTAMP NOT NULL, + retry_count INT DEFAULT 0, + retry_status SMALLINT DEFAULT 0, + task_type SMALLINT DEFAULT 1, + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); --- ---------------------------- --- Checks structure for table PJ_CONTAINER_INFO --- ---------------------------- -ALTER TABLE "PJ_CONTAINER_INFO" ADD CONSTRAINT "SYS_C0012205" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +CREATE UNIQUE INDEX uk_retry_task_0_1 ON er_retry_task_0 (namespace_id, group_name, unique_id); +CREATE INDEX idx_retry_task_0_1 ON er_retry_task_0 (namespace_id, group_name, scene_name); +CREATE INDEX idx_retry_task_0_2 ON er_retry_task_0 (namespace_id, group_name, retry_status); +CREATE INDEX idx_retry_task_0_3 ON er_retry_task_0 (idempotent_id); +CREATE INDEX idx_retry_task_0_4 ON er_retry_task_0 (biz_no); +CREATE INDEX idx_retry_task_0_5 ON er_retry_task_0 (create_dt); --- ---------------------------- --- Indexes structure for table PJ_CONTAINER_INFO --- ---------------------------- -CREATE INDEX "IDX01_CONTAINER_INFO" - ON "PJ_CONTAINER_INFO" ("APP_ID" ASC) - LOGGING - TABLESPACE "ROOT" - VISIBLE -PCTFREE 10 -INITRANS 2 -STORAGE ( - INITIAL 65536 - NEXT 1048576 - MINEXTENTS 1 - MAXEXTENTS 2147483645 - BUFFER_POOL DEFAULT - FLASH_CACHE DEFAULT -) - USABLE; +COMMENT ON TABLE er_retry_task_0 IS '任务表'; +COMMENT ON COLUMN er_retry_task_0.id IS '主键'; +COMMENT ON COLUMN er_retry_task_0.unique_id IS '同组下id唯一'; +COMMENT ON COLUMN er_retry_task_0.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_retry_task_0.group_name IS '组名称'; +COMMENT ON COLUMN er_retry_task_0.scene_name IS '场景名称'; +COMMENT ON COLUMN er_retry_task_0.idempotent_id IS '幂等id'; +COMMENT ON COLUMN er_retry_task_0.biz_no IS '业务编号'; +COMMENT ON COLUMN er_retry_task_0.executor_name IS '执行器名称'; +COMMENT ON COLUMN er_retry_task_0.args_str IS '执行方法参数'; +COMMENT ON COLUMN er_retry_task_0.ext_attrs IS '扩展字段'; +COMMENT ON COLUMN er_retry_task_0.next_trigger_at IS '下次触发时间'; +COMMENT ON COLUMN er_retry_task_0.retry_count IS '重试次数'; +COMMENT ON COLUMN er_retry_task_0.retry_status IS '重试状态 0、重试中 1、成功 2、最大重试次数'; +COMMENT ON COLUMN er_retry_task_0.task_type IS '任务类型 1、重试数据 2、回调数据'; +COMMENT ON COLUMN er_retry_task_0.create_dt IS '创建时间'; +COMMENT ON COLUMN er_retry_task_0.update_dt IS '修改时间'; --- ---------------------------- --- Primary Key structure for table PJ_INSTANCE_INFO --- ---------------------------- -ALTER TABLE "PJ_INSTANCE_INFO" ADD CONSTRAINT "SYS_C0012208" PRIMARY KEY ("ID"); +-- er_retry_task_log +CREATE TABLE er_retry_task_log +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + unique_id VARCHAR2(64) NOT NULL, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + scene_name VARCHAR2(64) NOT NULL, + idempotent_id VARCHAR2(64) NOT NULL, + biz_no VARCHAR2(64) DEFAULT '', + executor_name VARCHAR2(512) DEFAULT '', + args_str CLOB DEFAULT '', + ext_attrs CLOB DEFAULT '', + retry_status SMALLINT DEFAULT 0, + task_type SMALLINT DEFAULT 1, + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); --- ---------------------------- --- Checks structure for table PJ_INSTANCE_INFO --- ---------------------------- -ALTER TABLE "PJ_INSTANCE_INFO" ADD CONSTRAINT "SYS_C0012207" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +CREATE INDEX idx_retry_task_log_1 ON er_retry_task_log (namespace_id, group_name, scene_name); +CREATE INDEX idx_retry_task_log_2 ON er_retry_task_log (retry_status); +CREATE INDEX idx_retry_task_log_3 ON er_retry_task_log (idempotent_id); +CREATE INDEX idx_retry_task_log_4 ON er_retry_task_log (namespace_id, group_name, unique_id); +CREATE INDEX idx_retry_task_log_5 ON er_retry_task_log (biz_no); +CREATE INDEX idx_retry_task_log_6 ON er_retry_task_log (create_dt); --- ---------------------------- --- Indexes structure for table PJ_INSTANCE_INFO --- ---------------------------- -CREATE INDEX "IDX01_INSTANCE_INFO" - ON "PJ_INSTANCE_INFO" ("JOB_ID" ASC, "STATUS" ASC) - LOGGING - TABLESPACE "ROOT" - VISIBLE -PCTFREE 10 -INITRANS 2 -STORAGE ( - INITIAL 65536 - NEXT 1048576 - MINEXTENTS 1 - MAXEXTENTS 2147483645 - BUFFER_POOL DEFAULT - FLASH_CACHE DEFAULT -) - USABLE; -CREATE INDEX "IDX02_INSTANCE_INFO" - ON "PJ_INSTANCE_INFO" ("APP_ID" ASC, "STATUS" ASC) - LOGGING - TABLESPACE "ROOT" - VISIBLE -PCTFREE 10 -INITRANS 2 -STORAGE ( - INITIAL 65536 - NEXT 1048576 - MINEXTENTS 1 - MAXEXTENTS 2147483645 - BUFFER_POOL DEFAULT - FLASH_CACHE DEFAULT -) - USABLE; -CREATE INDEX "IDX03_INSTANCE_INFO" - ON "PJ_INSTANCE_INFO" ("INSTANCE_ID" ASC, "STATUS" ASC) - LOGGING - TABLESPACE "ROOT" - VISIBLE -PCTFREE 10 -INITRANS 2 -STORAGE ( - INITIAL 65536 - NEXT 1048576 - MINEXTENTS 1 - MAXEXTENTS 2147483645 - BUFFER_POOL DEFAULT - FLASH_CACHE DEFAULT -) - USABLE; +COMMENT ON TABLE er_retry_task_log IS '任务日志基础信息表'; +COMMENT ON COLUMN er_retry_task_log.id IS '主键'; +COMMENT ON COLUMN er_retry_task_log.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_retry_task_log.unique_id IS '同组下id唯一'; +COMMENT ON COLUMN er_retry_task_log.group_name IS '组名称'; +COMMENT ON COLUMN er_retry_task_log.scene_name IS '场景名称'; +COMMENT ON COLUMN er_retry_task_log.idempotent_id IS '幂等id'; +COMMENT ON COLUMN er_retry_task_log.biz_no IS '业务编号'; +COMMENT ON COLUMN er_retry_task_log.executor_name IS '执行器名称'; +COMMENT ON COLUMN er_retry_task_log.args_str IS '执行方法参数'; +COMMENT ON COLUMN er_retry_task_log.ext_attrs IS '扩展字段'; +COMMENT ON COLUMN er_retry_task_log.retry_status IS '重试状态 0、重试中 1、成功 2、最大次数'; +COMMENT ON COLUMN er_retry_task_log.task_type IS '任务类型 1、重试数据 2、回调数据'; +COMMENT ON COLUMN er_retry_task_log.create_dt IS '创建时间'; +COMMENT ON COLUMN er_retry_task_log.update_dt IS '修改时间'; --- ---------------------------- --- Primary Key structure for table PJ_JOB_INFO --- ---------------------------- -ALTER TABLE "PJ_JOB_INFO" ADD CONSTRAINT "SYS_C0012213" PRIMARY KEY ("ID"); +-- er_retry_task_log_message +CREATE TABLE er_retry_task_log_message +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + unique_id VARCHAR2(64) NOT NULL, + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + message CLOB DEFAULT '', + log_num INT DEFAULT 1, + real_time NUMERIC(13) DEFAULT 0 +); --- ---------------------------- --- Checks structure for table PJ_JOB_INFO --- ---------------------------- -ALTER TABLE "PJ_JOB_INFO" ADD CONSTRAINT "SYS_C0012209" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; -ALTER TABLE "PJ_JOB_INFO" ADD CONSTRAINT "SYS_C0012210" CHECK ("MIN_CPU_CORES" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; -ALTER TABLE "PJ_JOB_INFO" ADD CONSTRAINT "SYS_C0012211" CHECK ("MIN_DISK_SPACE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; -ALTER TABLE "PJ_JOB_INFO" ADD CONSTRAINT "SYS_C0012212" CHECK ("MIN_MEMORY_SPACE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +CREATE INDEX idx_retry_task_log_message_1 ON er_retry_task_log_message (namespace_id, group_name, unique_id); +CREATE INDEX idx_retry_task_log_message_2 ON er_retry_task_log_message (create_dt); --- ---------------------------- --- Indexes structure for table PJ_JOB_INFO --- ---------------------------- -CREATE INDEX "IDX01_JOB_INFO" - ON "PJ_JOB_INFO" ("APP_ID" ASC, "NEXT_TRIGGER_TIME" ASC, "TIME_EXPRESSION_TYPE" ASC, "STATUS" ASC) - LOGGING - TABLESPACE "ROOT" - VISIBLE -PCTFREE 10 -INITRANS 2 -STORAGE ( - INITIAL 65536 - NEXT 1048576 - MINEXTENTS 1 - MAXEXTENTS 2147483645 - BUFFER_POOL DEFAULT - FLASH_CACHE DEFAULT -) - USABLE; +COMMENT ON TABLE er_retry_task_log_message IS '任务调度日志信息记录表'; +COMMENT ON COLUMN er_retry_task_log_message.id IS '主键'; +COMMENT ON COLUMN er_retry_task_log_message.namespace_id IS '命名空间'; +COMMENT ON COLUMN er_retry_task_log_message.group_name IS '组名称'; +COMMENT ON COLUMN er_retry_task_log_message.unique_id IS '同组下id唯一'; +COMMENT ON COLUMN er_retry_task_log_message.create_dt IS '创建时间'; +COMMENT ON COLUMN er_retry_task_log_message.message IS '异常信息'; +COMMENT ON COLUMN er_retry_task_log_message.log_num IS '日志数量'; +COMMENT ON COLUMN er_retry_task_log_message.real_time IS '上报时间'; --- ---------------------------- --- Primary Key structure for table PJ_OMS_LOCK --- ---------------------------- -ALTER TABLE "PJ_OMS_LOCK" ADD CONSTRAINT "SYS_C0012215" PRIMARY KEY ("ID"); +-- er_scene_config +CREATE TABLE er_scene_config +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + scene_name VARCHAR2(64) NOT NULL, + group_name VARCHAR2(64) NOT NULL, + scene_status SMALLINT DEFAULT 0, + max_retry_count INT DEFAULT 5, + back_off SMALLINT DEFAULT 1, + trigger_interval VARCHAR2(16) DEFAULT '', + deadline_request NUMBER(20) DEFAULT 60000, + route_key SMALLINT DEFAULT 4, + executor_timeout INT DEFAULT 5, + description VARCHAR2(256) DEFAULT '', + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); --- ---------------------------- --- Uniques structure for table PJ_OMS_LOCK --- ---------------------------- -ALTER TABLE "PJ_OMS_LOCK" ADD CONSTRAINT "UIDX01_OMS_LOCK" UNIQUE ("LOCK_NAME") NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +CREATE UNIQUE INDEX uk_scene_config_1 ON er_scene_config (namespace_id, group_name, scene_name); --- ---------------------------- --- Checks structure for table PJ_OMS_LOCK --- ---------------------------- -ALTER TABLE "PJ_OMS_LOCK" ADD CONSTRAINT "SYS_C0012214" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +COMMENT ON TABLE er_scene_config IS '场景配置'; +COMMENT ON COLUMN er_scene_config.id IS '主键'; +COMMENT ON COLUMN er_scene_config.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_scene_config.scene_name IS '场景名称'; +COMMENT ON COLUMN er_scene_config.group_name IS '组名称'; +COMMENT ON COLUMN er_scene_config.scene_status IS '组状态 0、未启用 1、启用'; +COMMENT ON COLUMN er_scene_config.max_retry_count IS '最大重试次数'; +COMMENT ON COLUMN er_scene_config.back_off IS '1、默认等级 2、固定间隔时间 3、CRON 表达式'; +COMMENT ON COLUMN er_scene_config.trigger_interval IS '间隔时长'; +COMMENT ON COLUMN er_scene_config.deadline_request IS 'Deadline Request 调用链超时 单位毫秒'; +COMMENT ON COLUMN er_scene_config.description IS '描述'; +COMMENT ON COLUMN er_scene_config.route_key IS '路由策略'; +COMMENT ON COLUMN er_scene_config.executor_timeout IS '超时时间'; +COMMENT ON COLUMN er_scene_config.create_dt IS '创建时间'; +COMMENT ON COLUMN er_scene_config.update_dt IS '修改时间'; --- ---------------------------- --- Primary Key structure for table PJ_SERVER_INFO --- ---------------------------- -ALTER TABLE "PJ_SERVER_INFO" ADD CONSTRAINT "SYS_C0012217" PRIMARY KEY ("ID"); +-- er_server_node +CREATE TABLE er_server_node +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + host_id VARCHAR2(64) NOT NULL, + host_ip VARCHAR2(64) NOT NULL, + context_path VARCHAR2(256) DEFAULT '/', + host_port INT NOT NULL, + expire_at TIMESTAMP NOT NULL, + node_type SMALLINT NOT NULL, + ext_attrs VARCHAR2(256) DEFAULT '', + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); --- ---------------------------- --- Uniques structure for table PJ_SERVER_INFO --- ---------------------------- -ALTER TABLE "PJ_SERVER_INFO" ADD CONSTRAINT "UIDX01_SERVER_INFO" UNIQUE ("IP") NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +CREATE UNIQUE INDEX uk_server_node_1 ON er_server_node (host_id, host_ip); +CREATE INDEX idx_server_node_1 ON er_server_node (expire_at, node_type); +CREATE INDEX idx_server_node_2 ON er_server_node (namespace_id, group_name); --- ---------------------------- --- Checks structure for table PJ_SERVER_INFO --- ---------------------------- -ALTER TABLE "PJ_SERVER_INFO" ADD CONSTRAINT "SYS_C0012216" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +COMMENT ON TABLE er_server_node IS '服务器节点'; +COMMENT ON COLUMN er_server_node.id IS '主键'; +COMMENT ON COLUMN er_server_node.group_name IS '组名称'; +COMMENT ON COLUMN er_server_node.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_server_node.host_id IS '主机id'; +COMMENT ON COLUMN er_server_node.host_ip IS '机器ip'; +COMMENT ON COLUMN er_server_node.context_path IS '客户端上下文路径 server.servlet.context-path'; +COMMENT ON COLUMN er_server_node.host_port IS '机器端口'; +COMMENT ON COLUMN er_server_node.expire_at IS '过期时间'; +COMMENT ON COLUMN er_server_node.node_type IS '节点类型 1、客户端 2、是服务端'; +COMMENT ON COLUMN er_server_node.ext_attrs IS '扩展字段'; +COMMENT ON COLUMN er_server_node.create_dt IS '创建时间'; +COMMENT ON COLUMN er_server_node.update_dt IS '修改时间'; --- ---------------------------- --- Indexes structure for table PJ_SERVER_INFO --- ---------------------------- -CREATE INDEX "IDX01_SERVER_INFO" - ON "PJ_SERVER_INFO" ("GMT_MODIFIED" ASC) - LOGGING - TABLESPACE "ROOT" - VISIBLE -PCTFREE 10 -INITRANS 2 -STORAGE ( - INITIAL 65536 - NEXT 1048576 - MINEXTENTS 1 - MAXEXTENTS 2147483645 - BUFFER_POOL DEFAULT - FLASH_CACHE DEFAULT -) - USABLE; +-- er_distributed_lock +CREATE TABLE er_distributed_lock +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + name VARCHAR2(64) NOT NULL, + lock_until TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + locked_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + locked_by VARCHAR2(255) NOT NULL, + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); --- ---------------------------- --- Primary Key structure for table PJ_USER_INFO --- ---------------------------- -ALTER TABLE "PJ_USER_INFO" ADD CONSTRAINT "SYS_C0012219" PRIMARY KEY ("ID"); +ALTER TABLE er_distributed_lock + ADD CONSTRAINT uk_name_distributed_lock UNIQUE (name); --- ---------------------------- --- Checks structure for table PJ_USER_INFO --- ---------------------------- -ALTER TABLE "PJ_USER_INFO" ADD CONSTRAINT "SYS_C0012218" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +COMMENT ON TABLE er_distributed_lock IS '锁定表'; +COMMENT ON COLUMN er_distributed_lock.id IS '主键'; +COMMENT ON COLUMN er_distributed_lock.name IS '锁名称'; +COMMENT ON COLUMN er_distributed_lock.lock_until IS '锁定时长'; +COMMENT ON COLUMN er_distributed_lock.locked_at IS '锁定时间'; +COMMENT ON COLUMN er_distributed_lock.locked_by IS '锁定者'; +COMMENT ON COLUMN er_distributed_lock.create_dt IS '创建时间'; +COMMENT ON COLUMN er_distributed_lock.update_dt IS '修改时间'; --- ---------------------------- --- Indexes structure for table PJ_USER_INFO --- ---------------------------- -CREATE INDEX "UIDX01_USER_INFO" - ON "PJ_USER_INFO" ("USERNAME" ASC) - LOGGING - TABLESPACE "ROOT" - VISIBLE -PCTFREE 10 -INITRANS 2 -STORAGE ( - INITIAL 65536 - NEXT 1048576 - MINEXTENTS 1 - MAXEXTENTS 2147483645 - BUFFER_POOL DEFAULT - FLASH_CACHE DEFAULT -) - USABLE; -CREATE INDEX "UIDX02_USER_INFO" - ON "PJ_USER_INFO" ("EMAIL" ASC) - LOGGING - TABLESPACE "ROOT" - VISIBLE -PCTFREE 10 -INITRANS 2 -STORAGE ( - INITIAL 65536 - NEXT 1048576 - MINEXTENTS 1 - MAXEXTENTS 2147483645 - BUFFER_POOL DEFAULT - FLASH_CACHE DEFAULT -) - USABLE; +-- er_system_user +CREATE TABLE er_system_user +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + username VARCHAR2(64) NOT NULL, + password VARCHAR2(128) NOT NULL, + role SMALLINT DEFAULT 0, + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); --- ---------------------------- --- Primary Key structure for table PJ_WORKFLOW_INFO --- ---------------------------- -ALTER TABLE "PJ_WORKFLOW_INFO" ADD CONSTRAINT "SYS_C0012221" PRIMARY KEY ("ID"); +CREATE UNIQUE INDEX uk_system_user_1 ON er_system_user (username); --- ---------------------------- --- Checks structure for table PJ_WORKFLOW_INFO --- ---------------------------- -ALTER TABLE "PJ_WORKFLOW_INFO" ADD CONSTRAINT "SYS_C0012220" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +COMMENT ON TABLE er_system_user IS '系统用户表'; +COMMENT ON COLUMN er_system_user.id IS '主键'; +COMMENT ON COLUMN er_system_user.username IS '账号'; +COMMENT ON COLUMN er_system_user.password IS '密码'; +COMMENT ON COLUMN er_system_user.role IS '角色:1-普通用户、2-管理员'; +COMMENT ON COLUMN er_system_user.create_dt IS '创建时间'; +COMMENT ON COLUMN er_system_user.update_dt IS '修改时间'; --- ---------------------------- --- Indexes structure for table PJ_WORKFLOW_INFO --- ---------------------------- -CREATE INDEX "IDX01_WORKFLOW_INFO" - ON "PJ_WORKFLOW_INFO" ("APP_ID" ASC, "NEXT_TRIGGER_TIME" ASC, "TIME_EXPRESSION_TYPE" ASC, "STATUS" ASC) - LOGGING - TABLESPACE "ROOT" - VISIBLE -PCTFREE 10 -INITRANS 2 -STORAGE ( - INITIAL 65536 - NEXT 1048576 - MINEXTENTS 1 - MAXEXTENTS 2147483645 - BUFFER_POOL DEFAULT - FLASH_CACHE DEFAULT -) - USABLE; +-- er_pwd: admin +INSERT INTO er_system_user(username, password, role, create_dt, update_dt) VALUES ('admin', '465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', 2, SYSDATE, SYSDATE); --- ---------------------------- --- Primary Key structure for table PJ_WORKFLOW_INSTANCE_INFO --- ---------------------------- -ALTER TABLE "PJ_WORKFLOW_INSTANCE_INFO" ADD CONSTRAINT "SYS_C0012223" PRIMARY KEY ("ID"); +-- er_system_user_permission +CREATE TABLE er_system_user_permission +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + system_user_id NUMBER(20) NOT NULL, + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); --- ---------------------------- --- Uniques structure for table PJ_WORKFLOW_INSTANCE_INFO --- ---------------------------- -ALTER TABLE "PJ_WORKFLOW_INSTANCE_INFO" ADD CONSTRAINT "UIDX01_WF_INSTANCE" UNIQUE ("WF_INSTANCE_ID") NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +CREATE UNIQUE INDEX uk_system_user_permission_1 ON er_system_user_permission (namespace_id, group_name, system_user_id); --- ---------------------------- --- Checks structure for table PJ_WORKFLOW_INSTANCE_INFO --- ---------------------------- -ALTER TABLE "PJ_WORKFLOW_INSTANCE_INFO" ADD CONSTRAINT "SYS_C0012222" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +COMMENT ON TABLE er_system_user_permission IS '系统用户权限表'; +COMMENT ON COLUMN er_system_user_permission.id IS '主键'; +COMMENT ON COLUMN er_system_user_permission.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_system_user_permission.group_name IS '组名称'; +COMMENT ON COLUMN er_system_user_permission.system_user_id IS '系统用户id'; +COMMENT ON COLUMN er_system_user_permission.create_dt IS '创建时间'; +COMMENT ON COLUMN er_system_user_permission.update_dt IS '修改时间'; --- ---------------------------- --- Indexes structure for table PJ_WORKFLOW_INSTANCE_INFO --- ---------------------------- -CREATE INDEX "IDX01_WF_INSTANCE" - ON "PJ_WORKFLOW_INSTANCE_INFO" ("WORKFLOW_ID" ASC, "EXPECTED_TRIGGER_TIME" ASC, "APP_ID" ASC, "STATUS" ASC) - LOGGING - TABLESPACE "ROOT" - VISIBLE -PCTFREE 10 -INITRANS 2 -STORAGE ( - INITIAL 65536 - NEXT 1048576 - MINEXTENTS 1 - MAXEXTENTS 2147483645 - BUFFER_POOL DEFAULT - FLASH_CACHE DEFAULT -) - USABLE; +-- er_sequence_alloc +CREATE TABLE er_sequence_alloc +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) DEFAULT '', + max_id NUMBER(20) DEFAULT 1, + step INT DEFAULT 100, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); --- ---------------------------- --- Primary Key structure for table PJ_WORKFLOW_NODE_INFO --- ---------------------------- -ALTER TABLE "PJ_WORKFLOW_NODE_INFO" ADD CONSTRAINT "SYS_C0012230" PRIMARY KEY ("ID"); +CREATE UNIQUE INDEX uk_sequence_alloc_1 ON er_sequence_alloc (namespace_id, group_name); --- ---------------------------- --- Checks structure for table PJ_WORKFLOW_NODE_INFO --- ---------------------------- -ALTER TABLE "PJ_WORKFLOW_NODE_INFO" ADD CONSTRAINT "SYS_C0012224" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; -ALTER TABLE "PJ_WORKFLOW_NODE_INFO" ADD CONSTRAINT "SYS_C0012225" CHECK ("APP_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; -ALTER TABLE "PJ_WORKFLOW_NODE_INFO" ADD CONSTRAINT "SYS_C0012226" CHECK ("ENABLE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; -ALTER TABLE "PJ_WORKFLOW_NODE_INFO" ADD CONSTRAINT "SYS_C0012227" CHECK ("GMT_CREATE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; -ALTER TABLE "PJ_WORKFLOW_NODE_INFO" ADD CONSTRAINT "SYS_C0012228" CHECK ("GMT_MODIFIED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; -ALTER TABLE "PJ_WORKFLOW_NODE_INFO" ADD CONSTRAINT "SYS_C0012229" CHECK ("SKIP_WHEN_FAILED" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE; +COMMENT ON TABLE er_sequence_alloc IS '号段模式序号ID分配表'; +COMMENT ON COLUMN er_sequence_alloc.id IS '主键'; +COMMENT ON COLUMN er_sequence_alloc.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_sequence_alloc.group_name IS '组名称'; +COMMENT ON COLUMN er_sequence_alloc.max_id IS '最大id'; +COMMENT ON COLUMN er_sequence_alloc.step IS '步长'; +COMMENT ON COLUMN er_sequence_alloc.update_dt IS '更新时间'; --- ---------------------------- --- Indexes structure for table PJ_WORKFLOW_NODE_INFO --- ---------------------------- -CREATE INDEX "IDX01_WORKFLOW_NODE_INFO" - ON "PJ_WORKFLOW_NODE_INFO" ("GMT_CREATE" ASC, "WORKFLOW_ID" ASC) - LOGGING - TABLESPACE "ROOT" - VISIBLE -PCTFREE 10 -INITRANS 2 -STORAGE ( - INITIAL 65536 - NEXT 1048576 - MINEXTENTS 1 - MAXEXTENTS 2147483645 - BUFFER_POOL DEFAULT - FLASH_CACHE DEFAULT -) - USABLE; +-- er_job +CREATE TABLE er_job +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + job_name VARCHAR2(64) NOT NULL, + args_str CLOB DEFAULT '', + args_type SMALLINT DEFAULT 1, + next_trigger_at NUMBER(20) NOT NULL, + job_status SMALLINT DEFAULT 1, + task_type SMALLINT DEFAULT 1, + route_key SMALLINT DEFAULT 4, + executor_type SMALLINT DEFAULT 1, + executor_info VARCHAR2(255) DEFAULT NULL, + trigger_type SMALLINT NOT NULL, + trigger_interval VARCHAR2(255) NOT NULL, + block_strategy SMALLINT DEFAULT 1, + executor_timeout INT DEFAULT 0, + max_retry_times INT DEFAULT 0, + parallel_num INT DEFAULT 1, + retry_interval INT DEFAULT 0, + bucket_index INT DEFAULT 0, + resident SMALLINT DEFAULT 0, + description VARCHAR2(256) DEFAULT '', + ext_attrs VARCHAR2(256) DEFAULT '', + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + deleted SMALLINT DEFAULT 0 +); + +CREATE INDEX idx_job_1 ON er_job (namespace_id, group_name); +CREATE INDEX idx_job_2 ON er_job (job_status, bucket_index); +CREATE INDEX idx_job_3 ON er_job (create_dt); + +COMMENT ON TABLE er_job IS '任务信息'; +COMMENT ON COLUMN er_job.id IS '主键'; +COMMENT ON COLUMN er_job.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_job.group_name IS '组名称'; +COMMENT ON COLUMN er_job.job_name IS '名称'; +COMMENT ON COLUMN er_job.args_str IS '执行方法参数'; +COMMENT ON COLUMN er_job.args_type IS '参数类型'; +COMMENT ON COLUMN er_job.next_trigger_at IS '下次触发时间'; +COMMENT ON COLUMN er_job.job_status IS '重试状态 0、关闭、1、开启'; +COMMENT ON COLUMN er_job.task_type IS '任务类型 1、集群 2、广播 3、切片'; +COMMENT ON COLUMN er_job.route_key IS '路由策略'; +COMMENT ON COLUMN er_job.executor_type IS '执行器类型'; +COMMENT ON COLUMN er_job.executor_info IS '执行器名称'; +COMMENT ON COLUMN er_job.trigger_type IS '触发类型 1.CRON 表达式 2. 固定时间'; +COMMENT ON COLUMN er_job.trigger_interval IS '间隔时长'; +COMMENT ON COLUMN er_job.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行'; +COMMENT ON COLUMN er_job.executor_timeout IS '任务执行超时时间,单位秒'; +COMMENT ON COLUMN er_job.max_retry_times IS '最大重试次数'; +COMMENT ON COLUMN er_job.parallel_num IS '并行数'; +COMMENT ON COLUMN er_job.retry_interval IS '更新重试间隔(s)'; +COMMENT ON COLUMN er_job.bucket_index IS 'bucket'; +COMMENT ON COLUMN er_job.resident IS '是否是常驻任务'; +COMMENT ON COLUMN er_job.description IS '描述'; +COMMENT ON COLUMN er_job.ext_attrs IS '扩展字段'; +COMMENT ON COLUMN er_job.create_dt IS '创建时间'; +COMMENT ON COLUMN er_job.update_dt IS '更新时间'; +COMMENT ON COLUMN er_job.deleted IS '逻辑删除 1、删除'; + +INSERT INTO er_job (namespace_id, group_name, job_name, args_str, args_type, next_trigger_at, job_status, task_type, route_key, executor_type, executor_info, trigger_type, trigger_interval, block_strategy,executor_timeout, max_retry_times, parallel_num, retry_interval, bucket_index, resident, description, ext_attrs, create_dt, update_dt, deleted) +VALUES ('dev', 'ruoyi_group', 'demo-job', NULL, 1, 1710344035622, 1, 1, 4, 1, 'testJobExecutor', 2, '60', 1, 60, 3, 1, 1, 116, 0, '', '', SYSDATE, SYSDATE, 0); + + +-- er_job_log_message +CREATE TABLE er_job_log_message +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + job_id NUMBER(20) NOT NULL, + task_batch_id NUMBER(20) NOT NULL, + task_id NUMBER(20) NOT NULL, + message CLOB DEFAULT '', + log_num INT DEFAULT 1, + real_time NUMBER(20) DEFAULT 0, + ext_attrs VARCHAR2(256) DEFAULT '', + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE INDEX idx_job_log_message_1 ON er_job_log_message (namespace_id, group_name); +CREATE INDEX idx_job_log_message_2 ON er_job_log_message (task_batch_id, task_id); +CREATE INDEX idx_job_log_message_3 ON er_job_log_message (create_dt); + +COMMENT ON TABLE er_job_log_message IS '调度日志'; +COMMENT ON COLUMN er_job_log_message.id IS '主键'; +COMMENT ON COLUMN er_job_log_message.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_job_log_message.group_name IS '组名称'; +COMMENT ON COLUMN er_job_log_message.job_id IS '任务信息id'; +COMMENT ON COLUMN er_job_log_message.task_batch_id IS '任务批次id'; +COMMENT ON COLUMN er_job_log_message.task_id IS '调度任务id'; +COMMENT ON COLUMN er_job_log_message.message IS '调度信息'; +COMMENT ON COLUMN er_job_log_message.log_num IS '日志序号'; +COMMENT ON COLUMN er_job_log_message.real_time IS '实际时间'; +COMMENT ON COLUMN er_job_log_message.create_dt IS '创建时间'; +COMMENT ON COLUMN er_job_log_message.ext_attrs IS '扩展字段'; + +-- er_job_task +CREATE TABLE er_job_task +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + job_id NUMBER(20) NOT NULL, + task_batch_id NUMBER(20) NOT NULL, + parent_id NUMBER(20) DEFAULT 0, + task_status SMALLINT DEFAULT 0, + retry_count INT DEFAULT 0, + client_info VARCHAR2(128) DEFAULT NULL, + result_message CLOB DEFAULT '', + args_str CLOB DEFAULT '', + args_type SMALLINT DEFAULT 1, + ext_attrs VARCHAR2(256) DEFAULT '', + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE INDEX idx_job_task_1 ON er_job_task (namespace_id, group_name); +CREATE INDEX idx_job_task_2 ON er_job_task (task_batch_id, task_status); +CREATE INDEX idx_job_task_3 ON er_job_task (create_dt); + +COMMENT ON TABLE er_job_task IS '任务实例'; +COMMENT ON COLUMN er_job_task.id IS '主键'; +COMMENT ON COLUMN er_job_task.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_job_task.group_name IS '组名称'; +COMMENT ON COLUMN er_job_task.job_id IS '任务信息id'; +COMMENT ON COLUMN er_job_task.task_batch_id IS '任务批次id'; +COMMENT ON COLUMN er_job_task.parent_id IS '父执行器id'; +COMMENT ON COLUMN er_job_task.task_status IS '执行的状态 0、失败 1、成功'; +COMMENT ON COLUMN er_job_task.retry_count IS '重试次数'; +COMMENT ON COLUMN er_job_task.client_info IS '客户端地址 clientId#ip:port'; +COMMENT ON COLUMN er_job_task.result_message IS '调度信息'; +COMMENT ON COLUMN er_job_task.args_str IS '执行方法参数'; +COMMENT ON COLUMN er_job_task.args_type IS '参数类型'; +COMMENT ON COLUMN er_job_task.create_dt IS '创建时间'; +COMMENT ON COLUMN er_job_task.update_dt IS '创建时间'; +COMMENT ON COLUMN er_job_task.ext_attrs IS '扩展字段'; + +-- er_job_task_batch +CREATE TABLE er_job_task_batch +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + job_id NUMBER(20) NOT NULL, + workflow_node_id NUMBER(20) DEFAULT 0, + parent_workflow_node_id NUMBER(20) DEFAULT 0, + workflow_task_batch_id NUMBER(20) DEFAULT 0, + parent_id VARCHAR2(64) DEFAULT '', + task_batch_status SMALLINT DEFAULT 0, + operation_reason SMALLINT DEFAULT 0, + execution_at NUMBER(20) DEFAULT 0, + system_task_type SMALLINT DEFAULT 3, + ext_attrs VARCHAR2(256) DEFAULT '', + deleted SMALLINT DEFAULT 0, + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE INDEX idx_job_task_batch_1 ON er_job_task_batch (namespace_id, group_name); +CREATE INDEX idx_job_task_batch_2 ON er_job_task_batch (job_id, task_batch_status); +CREATE INDEX idx_job_task_batch_3 ON er_job_task_batch (create_dt); +CREATE INDEX idx_job_task_batch_4 ON er_job_task_batch (workflow_task_batch_id, workflow_node_id); + +COMMENT ON TABLE er_job_task_batch IS '任务批次'; +COMMENT ON COLUMN er_job_task_batch.id IS '主键'; +COMMENT ON COLUMN er_job_task_batch.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_job_task_batch.group_name IS '组名称'; +COMMENT ON COLUMN er_job_task_batch.job_id IS '任务信息id'; +COMMENT ON COLUMN er_job_task_batch.task_batch_status IS '任务批次状态 0、失败 1、成功'; +COMMENT ON COLUMN er_job_task_batch.operation_reason IS '操作原因'; +COMMENT ON COLUMN er_job_task_batch.workflow_node_id IS '工作流节点id'; +COMMENT ON COLUMN er_job_task_batch.parent_workflow_node_id IS '父节点'; +COMMENT ON COLUMN er_job_task_batch.workflow_task_batch_id IS '任务批次id'; +COMMENT ON COLUMN er_job_task_batch.system_task_type IS '任务类型 0、系统任务 1、业务任务'; +COMMENT ON COLUMN er_job_task_batch.execution_at IS '任务执行时间'; +COMMENT ON COLUMN er_job_task_batch.parent_id IS '父节点'; +COMMENT ON COLUMN er_job_task_batch.deleted IS '逻辑删除 1、删除'; +COMMENT ON COLUMN er_job_task_batch.create_dt IS '创建时间'; +COMMENT ON COLUMN er_job_task_batch.update_dt IS '创建时间'; +COMMENT ON COLUMN er_job_task_batch.ext_attrs IS '扩展字段'; + +CREATE TABLE er_job_notify_config +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + job_id NUMBER(20) NOT NULL, + notify_status SMALLINT DEFAULT 0, + notify_type SMALLINT DEFAULT 0, + notify_attribute VARCHAR2(512) NOT NULL, + notify_threshold INT DEFAULT 0, + notify_scene SMALLINT DEFAULT 0, + rate_limiter_status SMALLINT DEFAULT 0, + rate_limiter_threshold INT DEFAULT 0, + description VARCHAR2(256) DEFAULT '', + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE INDEX idx_job_notify_config_1 ON er_job_notify_config (namespace_id, group_name, job_id); + +COMMENT ON TABLE er_job_notify_config IS '通知配置'; +COMMENT ON COLUMN er_job_notify_config.id IS '主键'; +COMMENT ON COLUMN er_job_notify_config.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_job_notify_config.group_name IS '组名称'; +COMMENT ON COLUMN er_job_notify_config.job_id IS '任务信息id'; +COMMENT ON COLUMN er_job_notify_config.notify_status IS '通知状态 0、未启用 1、启用'; +COMMENT ON COLUMN er_job_notify_config.notify_type IS '通知类型 1、钉钉 2、邮件 3、企业微信'; +COMMENT ON COLUMN er_job_notify_config.notify_attribute IS '配置属性'; +COMMENT ON COLUMN er_job_notify_config.notify_threshold IS '通知阈值'; +COMMENT ON COLUMN er_job_notify_config.notify_scene IS '通知场景'; +COMMENT ON COLUMN er_job_notify_config.rate_limiter_status IS '限流状态 0、未启用 1、启用'; +COMMENT ON COLUMN er_job_notify_config.rate_limiter_threshold IS '每秒限流阈值'; +COMMENT ON COLUMN er_job_notify_config.description IS '描述'; +COMMENT ON COLUMN er_job_notify_config.create_dt IS '创建时间'; +COMMENT ON COLUMN er_job_notify_config.update_dt IS '修改时间'; + +-- er_retry_summary +CREATE TABLE er_retry_summary +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) DEFAULT '', + scene_name VARCHAR2(50) DEFAULT '', + trigger_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + running_num INT DEFAULT 0, + finish_num INT DEFAULT 0, + max_count_num INT DEFAULT 0, + suspend_num INT DEFAULT 0, + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_retry_summary_1 ON er_retry_summary (namespace_id, group_name, scene_name, trigger_at); + +COMMENT ON TABLE er_retry_summary IS 'DashBoard_Retry'; +COMMENT ON COLUMN er_retry_summary.id IS '主键'; +COMMENT ON COLUMN er_retry_summary.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_retry_summary.group_name IS '组名称'; +COMMENT ON COLUMN er_retry_summary.scene_name IS '场景名称'; +COMMENT ON COLUMN er_retry_summary.trigger_at IS '统计时间'; +COMMENT ON COLUMN er_retry_summary.running_num IS '重试中-日志数量'; +COMMENT ON COLUMN er_retry_summary.finish_num IS '重试完成-日志数量'; +COMMENT ON COLUMN er_retry_summary.max_count_num IS '重试到达最大次数-日志数量'; +COMMENT ON COLUMN er_retry_summary.suspend_num IS '暂停重试-日志数量'; +COMMENT ON COLUMN er_retry_summary.create_dt IS '创建时间'; +COMMENT ON COLUMN er_retry_summary.update_dt IS '修改时间'; + +-- er_job_summary +CREATE TABLE er_job_summary +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) DEFAULT '', + business_id NUMBER(20) NOT NULL, + system_task_type SMALLINT DEFAULT '3', + trigger_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + success_num INT DEFAULT 0, + fail_num INT DEFAULT 0, + fail_reason VARCHAR2(512) DEFAULT '', + stop_num INT DEFAULT 0, + stop_reason VARCHAR2(512) DEFAULT '', + cancel_num INT DEFAULT 0, + cancel_reason VARCHAR2(512) DEFAULT '', + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_job_summary_1 ON er_job_summary (trigger_at, system_task_type, business_id); +CREATE INDEX idx_job_summary_1 ON er_job_summary (namespace_id, group_name, business_id); + +COMMENT ON TABLE er_job_summary IS 'DashBoard_Job'; +COMMENT ON COLUMN er_job_summary.id IS '主键'; +COMMENT ON COLUMN er_job_summary.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_job_summary.group_name IS '组名称'; +COMMENT ON COLUMN er_job_summary.business_id IS '业务id (job_id或workflow_id)'; +COMMENT ON COLUMN er_job_summary.system_task_type IS '任务类型 3、JOB任务 4、WORKFLOW任务'; +COMMENT ON COLUMN er_job_summary.trigger_at IS '统计时间'; +COMMENT ON COLUMN er_job_summary.success_num IS '执行成功-日志数量'; +COMMENT ON COLUMN er_job_summary.fail_num IS '执行失败-日志数量'; +COMMENT ON COLUMN er_job_summary.fail_reason IS '失败原因'; +COMMENT ON COLUMN er_job_summary.stop_num IS '执行失败-日志数量'; +COMMENT ON COLUMN er_job_summary.stop_reason IS '失败原因'; +COMMENT ON COLUMN er_job_summary.cancel_num IS '执行失败-日志数量'; +COMMENT ON COLUMN er_job_summary.cancel_reason IS '失败原因'; + +-- er_workflow +CREATE TABLE er_workflow +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + workflow_name VARCHAR2(64) NOT NULL, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + workflow_status SMALLINT DEFAULT 1, + trigger_type SMALLINT NOT NULL, + trigger_interval VARCHAR2(255) NOT NULL, + next_trigger_at NUMBER(20) NOT NULL, + block_strategy SMALLINT DEFAULT 1, + executor_timeout INT DEFAULT 0, + description VARCHAR2(256) DEFAULT '', + flow_info CLOB DEFAULT '', + bucket_index INT DEFAULT 0, + version INT NOT NULL, + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + deleted SMALLINT DEFAULT 0, + ext_attrs VARCHAR2(256) DEFAULT '' +); + +CREATE INDEX idx_workflow_1 ON er_workflow (create_dt); +CREATE INDEX idx_workflow_2 ON er_workflow (namespace_id, group_name); + +COMMENT ON TABLE er_workflow IS '工作流'; +COMMENT ON COLUMN er_workflow.id IS '主键'; +COMMENT ON COLUMN er_workflow.workflow_name IS '工作流名称'; +COMMENT ON COLUMN er_workflow.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_workflow.group_name IS '组名称'; +COMMENT ON COLUMN er_workflow.workflow_status IS '工作流状态 0、关闭、1、开启'; +COMMENT ON COLUMN er_workflow.trigger_type IS '触发类型 1.CRON 表达式 2. 固定时间'; +COMMENT ON COLUMN er_workflow.trigger_interval IS '间隔时长'; +COMMENT ON COLUMN er_workflow.next_trigger_at IS '下次触发时间'; +COMMENT ON COLUMN er_workflow.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行'; +COMMENT ON COLUMN er_workflow.executor_timeout IS '任务执行超时时间,单位秒'; +COMMENT ON COLUMN er_workflow.description IS '描述'; +COMMENT ON COLUMN er_workflow.flow_info IS '流程信息'; +COMMENT ON COLUMN er_workflow.bucket_index IS 'bucket'; +COMMENT ON COLUMN er_workflow.version IS '版本号'; +COMMENT ON COLUMN er_workflow.create_dt IS '创建时间'; +COMMENT ON COLUMN er_workflow.update_dt IS '修改时间'; +COMMENT ON COLUMN er_workflow.deleted IS '逻辑删除 1、删除'; +COMMENT ON COLUMN er_workflow.ext_attrs IS '扩展字段'; + +-- er_workflow_node +CREATE TABLE er_workflow_node +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + node_name VARCHAR2(64) NOT NULL, + group_name VARCHAR2(64) NOT NULL, + job_id NUMBER(20) NOT NULL, + workflow_id NUMBER(20) NOT NULL, + node_type SMALLINT DEFAULT 1, + expression_type SMALLINT DEFAULT 0, + fail_strategy SMALLINT DEFAULT 1, + workflow_node_status SMALLINT DEFAULT 1, + priority_level INT DEFAULT 1, + node_info CLOB DEFAULT '', + version INT NOT NULL, + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + deleted SMALLINT DEFAULT 0, + ext_attrs VARCHAR2(256) DEFAULT '' +); + +CREATE INDEX idx_workflow_node_1 ON er_workflow_node (create_dt); +CREATE INDEX idx_workflow_node_2 ON er_workflow_node (namespace_id, group_name); + +COMMENT ON TABLE er_workflow_node IS '工作流节点'; +COMMENT ON COLUMN er_workflow_node.id IS '主键'; +COMMENT ON COLUMN er_workflow_node.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_workflow_node.node_name IS '节点名称'; +COMMENT ON COLUMN er_workflow_node.group_name IS '组名称'; +COMMENT ON COLUMN er_workflow_node.job_id IS '任务信息id'; +COMMENT ON COLUMN er_workflow_node.workflow_id IS '工作流ID'; +COMMENT ON COLUMN er_workflow_node.node_type IS '1、任务节点 2、条件节点'; +COMMENT ON COLUMN er_workflow_node.expression_type IS '1、SpEl、2、Aviator 3、QL'; +COMMENT ON COLUMN er_workflow_node.fail_strategy IS '失败策略 1、跳过 2、阻塞'; +COMMENT ON COLUMN er_workflow_node.workflow_node_status IS '工作流节点状态 0、关闭、1、开启'; +COMMENT ON COLUMN er_workflow_node.priority_level IS '优先级'; +COMMENT ON COLUMN er_workflow_node.node_info IS '节点信息'; +COMMENT ON COLUMN er_workflow_node.version IS '版本号'; +COMMENT ON COLUMN er_workflow_node.create_dt IS '创建时间'; +COMMENT ON COLUMN er_workflow_node.update_dt IS '修改时间'; +COMMENT ON COLUMN er_workflow_node.deleted IS '逻辑删除 1、删除'; +COMMENT ON COLUMN er_workflow_node.ext_attrs IS '扩展字段'; + +-- er_workflow_task_batch +CREATE TABLE er_workflow_task_batch +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + workflow_id NUMBER(20) NOT NULL, + task_batch_status SMALLINT DEFAULT 0, + operation_reason SMALLINT DEFAULT 0, + flow_info CLOB DEFAULT '', + execution_at NUMBER(20) DEFAULT 0, + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + deleted SMALLINT DEFAULT 0, + ext_attrs VARCHAR2(256) DEFAULT '' +); + +CREATE INDEX idx_workflow_task_batch_1 ON er_workflow_task_batch (workflow_id, task_batch_status); +CREATE INDEX idx_workflow_task_batch_2 ON er_workflow_task_batch (create_dt); +CREATE INDEX idx_workflow_task_batch_3 ON er_workflow_task_batch (namespace_id, group_name); + +COMMENT ON TABLE er_workflow_task_batch IS '工作流批次'; +COMMENT ON COLUMN er_workflow_task_batch.id IS '主键'; +COMMENT ON COLUMN er_workflow_task_batch.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_workflow_task_batch.group_name IS '组名称'; +COMMENT ON COLUMN er_workflow_task_batch.workflow_id IS '工作流任务id'; +COMMENT ON COLUMN er_workflow_task_batch.task_batch_status IS '任务批次状态 0、失败 1、成功'; +COMMENT ON COLUMN er_workflow_task_batch.operation_reason IS '操作原因'; +COMMENT ON COLUMN er_workflow_task_batch.flow_info IS '流程信息'; +COMMENT ON COLUMN er_workflow_task_batch.execution_at IS '任务执行时间'; +COMMENT ON COLUMN er_workflow_task_batch.create_dt IS '创建时间'; +COMMENT ON COLUMN er_workflow_task_batch.update_dt IS '修改时间'; +COMMENT ON COLUMN er_workflow_task_batch.deleted IS '逻辑删除 1、删除'; +COMMENT ON COLUMN er_workflow_task_batch.ext_attrs IS '扩展字段'; diff --git a/sql/postgres/easy_retry_postgre.sql b/sql/postgres/easy_retry_postgre.sql deleted file mode 100644 index 48189606a..000000000 --- a/sql/postgres/easy_retry_postgre.sql +++ /dev/null @@ -1,808 +0,0 @@ --- PostgreSQL DDL - -CREATE TABLE er_namespace -( - id BIGSERIAL PRIMARY KEY, - name VARCHAR(64) NOT NULL, - unique_id VARCHAR(64) NOT NULL, - description VARCHAR(256) NOT NULL DEFAULT '', - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - deleted SMALLINT NOT NULL DEFAULT 0 -); - -CREATE UNIQUE INDEX uk_namespace_unique_id ON er_namespace (unique_id); - -COMMENT ON COLUMN er_namespace.id IS '主键'; -COMMENT ON COLUMN er_namespace.name IS '名称'; -COMMENT ON COLUMN er_namespace.unique_id IS '唯一id'; -COMMENT ON COLUMN er_namespace.description IS '描述'; -COMMENT ON COLUMN er_namespace.create_dt IS '创建时间'; -COMMENT ON COLUMN er_namespace.update_dt IS '修改时间'; -COMMENT ON COLUMN er_namespace.deleted IS '逻辑删除 1、删除'; -COMMENT ON TABLE er_namespace IS '命名空间'; - -INSERT INTO er_namespace VALUES (1, 'Development', 'dev', '', now(), now(), 0); -INSERT INTO er_namespace VALUES (2, 'Production', 'prod', '', now(), now(), 0); - -CREATE TABLE er_group_config -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL, - description VARCHAR(256) DEFAULT '', - token VARCHAR(64) DEFAULT 'ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', - group_status SMALLINT NOT NULL DEFAULT 0, - version INT NOT NULL, - group_partition INT NOT NULL, - id_generator_mode SMALLINT NOT NULL DEFAULT 1, - init_scene SMALLINT NOT NULL DEFAULT 0, - bucket_index INT NOT NULL DEFAULT 0, - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_namespace_id_group_name_group_config ON er_group_config (namespace_id, group_name); - -COMMENT ON COLUMN er_group_config.id IS '主键'; -COMMENT ON COLUMN er_group_config.namespace_id IS '命名空间'; -COMMENT ON COLUMN er_group_config.group_name IS '组名称'; -COMMENT ON COLUMN er_group_config.description IS '组描述'; -COMMENT ON COLUMN er_group_config.token IS 'token'; -COMMENT ON COLUMN er_group_config.group_status IS '组状态 0、未启用 1、启用'; -COMMENT ON COLUMN er_group_config.version IS '版本号'; -COMMENT ON COLUMN er_group_config.group_partition IS '分区'; -COMMENT ON COLUMN er_group_config.id_generator_mode IS '唯一id生成模式 默认号段模式'; -COMMENT ON COLUMN er_group_config.init_scene IS '是否初始化场景 0:否 1:是'; -COMMENT ON COLUMN er_group_config.bucket_index IS 'bucket'; -COMMENT ON COLUMN er_group_config.create_dt IS '创建时间'; -COMMENT ON COLUMN er_group_config.update_dt IS '修改时间'; -COMMENT ON TABLE er_group_config IS '组配置'; - -INSERT INTO er_group_config VALUES (1, 'dev', 'ruoyi_group', '', 'ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, 4, now(), now()); - -CREATE TABLE er_notify_config -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL, - scene_name VARCHAR(64) NOT NULL, - notify_status SMALLINT NOT NULL DEFAULT 0, - notify_type SMALLINT NOT NULL DEFAULT 0, - notify_attribute VARCHAR(512) NOT NULL, - notify_threshold INT NOT NULL DEFAULT 0, - notify_scene SMALLINT NOT NULL DEFAULT 0, - rate_limiter_status SMALLINT NOT NULL DEFAULT 0, - rate_limiter_threshold INT NOT NULL DEFAULT 0, - description VARCHAR(256) NOT NULL DEFAULT '', - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE INDEX idx_namespace_id_group_name_notify_config ON er_notify_config (namespace_id, group_name); - -COMMENT ON COLUMN er_notify_config.id IS '主键'; -COMMENT ON COLUMN er_notify_config.group_name IS '组名称'; -COMMENT ON COLUMN er_notify_config.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_notify_config.scene_name IS '场景名称'; -COMMENT ON COLUMN er_notify_config.notify_status IS '通知状态 0、未启用 1、启用'; -COMMENT ON COLUMN er_notify_config.notify_type IS '通知类型 1、钉钉 2、邮件 3、企业微信'; -COMMENT ON COLUMN er_notify_config.notify_attribute IS '配置属性'; -COMMENT ON COLUMN er_notify_config.notify_threshold IS '通知阈值'; -COMMENT ON COLUMN er_notify_config.notify_scene IS '通知场景'; -COMMENT ON COLUMN er_notify_config.rate_limiter_status IS '限流状态 0、未启用 1、启用'; -COMMENT ON COLUMN er_notify_config.rate_limiter_threshold IS '每秒限流阈值'; -COMMENT ON COLUMN er_notify_config.description IS '描述'; -COMMENT ON COLUMN er_notify_config.create_dt IS '创建时间'; -COMMENT ON COLUMN er_notify_config.update_dt IS '修改时间'; -COMMENT ON TABLE er_notify_config IS '通知配置'; - - -CREATE TABLE er_retry_dead_letter_0 -( - id BIGSERIAL PRIMARY KEY, - unique_id VARCHAR(64) NOT NULL, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL, - scene_name VARCHAR(64) NOT NULL, - idempotent_id VARCHAR(64) NOT NULL, - biz_no VARCHAR(64) NOT NULL DEFAULT '', - executor_name VARCHAR(512) NOT NULL DEFAULT '', - args_str TEXT NOT NULL, - ext_attrs TEXT NOT NULL, - task_type SMALLINT NOT NULL DEFAULT 1, - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_namespace_id_group_name_unique_id_retry_dead_letter ON er_retry_dead_letter_0 (namespace_id, group_name, unique_id); -CREATE INDEX idx_namespace_id_group_name_scene_name_retry_dead_letter ON er_retry_dead_letter_0 (namespace_id, group_name, scene_name); -CREATE INDEX idx_idempotent_id_retry_dead_letter ON er_retry_dead_letter_0 (idempotent_id); -CREATE INDEX idx_biz_no_retry_dead_letter ON er_retry_dead_letter_0 (biz_no); -CREATE INDEX idx_create_dt_retry_dead_letter ON er_retry_dead_letter_0 (create_dt); - -COMMENT ON COLUMN er_retry_dead_letter_0.id IS '主键'; -COMMENT ON COLUMN er_retry_dead_letter_0.unique_id IS '同组下id唯一'; -COMMENT ON COLUMN er_retry_dead_letter_0.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_retry_dead_letter_0.group_name IS '组名称'; -COMMENT ON COLUMN er_retry_dead_letter_0.scene_name IS '场景名称'; -COMMENT ON COLUMN er_retry_dead_letter_0.idempotent_id IS '幂等id'; -COMMENT ON COLUMN er_retry_dead_letter_0.biz_no IS '业务编号'; -COMMENT ON COLUMN er_retry_dead_letter_0.executor_name IS '执行器名称'; -COMMENT ON COLUMN er_retry_dead_letter_0.args_str IS '执行方法参数'; -COMMENT ON COLUMN er_retry_dead_letter_0.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN er_retry_dead_letter_0.task_type IS '任务类型 1、重试数据 2、回调数据'; -COMMENT ON COLUMN er_retry_dead_letter_0.create_dt IS '创建时间'; -COMMENT ON TABLE er_retry_dead_letter_0 IS '死信队列表'; - -CREATE TABLE er_retry_task_0 -( - id BIGSERIAL PRIMARY KEY, - unique_id VARCHAR(64) NOT NULL, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL, - scene_name VARCHAR(64) NOT NULL, - idempotent_id VARCHAR(64) NOT NULL, - biz_no VARCHAR(64) NOT NULL DEFAULT '', - executor_name VARCHAR(512) NOT NULL DEFAULT '', - args_str TEXT NOT NULL, - ext_attrs TEXT NOT NULL, - next_trigger_at TIMESTAMP NOT NULL, - retry_count INT NOT NULL DEFAULT 0, - retry_status SMALLINT NOT NULL DEFAULT 0, - task_type SMALLINT NOT NULL DEFAULT 1, - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_name_unique_id_retry_task ON er_retry_task_0 (namespace_id, group_name, unique_id); -CREATE INDEX idx_namespace_id_group_name_scene_name_retry_task ON er_retry_task_0 (namespace_id, group_name, scene_name); -CREATE INDEX idx_namespace_id_group_name_retry_status_retry_task ON er_retry_task_0 (namespace_id, group_name, retry_status); -CREATE INDEX idx_idempotent_id_retry_task ON er_retry_task_0 (idempotent_id); -CREATE INDEX idx_biz_no_retry_task ON er_retry_task_0 (biz_no); -CREATE INDEX idx_create_dt_retry_task ON er_retry_task_0 (create_dt); - -COMMENT ON COLUMN er_retry_task_0.id IS '主键'; -COMMENT ON COLUMN er_retry_task_0.unique_id IS '同组下id唯一'; -COMMENT ON COLUMN er_retry_task_0.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_retry_task_0.group_name IS '组名称'; -COMMENT ON COLUMN er_retry_task_0.scene_name IS '场景名称'; -COMMENT ON COLUMN er_retry_task_0.idempotent_id IS '幂等id'; -COMMENT ON COLUMN er_retry_task_0.biz_no IS '业务编号'; -COMMENT ON COLUMN er_retry_task_0.executor_name IS '执行器名称'; -COMMENT ON COLUMN er_retry_task_0.args_str IS '执行方法参数'; -COMMENT ON COLUMN er_retry_task_0.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN er_retry_task_0.next_trigger_at IS '下次触发时间'; -COMMENT ON COLUMN er_retry_task_0.retry_count IS '重试次数'; -COMMENT ON COLUMN er_retry_task_0.retry_status IS '重试状态 0、重试中 1、成功 2、最大重试次数'; -COMMENT ON COLUMN er_retry_task_0.task_type IS '任务类型 1、重试数据 2、回调数据'; -COMMENT ON COLUMN er_retry_task_0.create_dt IS '创建时间'; -COMMENT ON COLUMN er_retry_task_0.update_dt IS '修改时间'; -COMMENT ON TABLE er_retry_task_0 IS '任务表'; - -CREATE TABLE er_retry_task_log -( - id BIGSERIAL PRIMARY KEY, - unique_id VARCHAR(64) NOT NULL, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL, - scene_name VARCHAR(64) NOT NULL, - idempotent_id VARCHAR(64) NOT NULL, - biz_no VARCHAR(64) NOT NULL DEFAULT '', - executor_name VARCHAR(512) NOT NULL DEFAULT '', - args_str TEXT NOT NULL, - ext_attrs TEXT NOT NULL, - retry_status SMALLINT NOT NULL DEFAULT 0, - task_type SMALLINT NOT NULL DEFAULT 1, - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP - -); - -CREATE INDEX idx_group_name_scene_name_retry_task_log ON er_retry_task_log (namespace_id, group_name, scene_name); -CREATE INDEX idx_retry_status_retry_task_log ON er_retry_task_log (retry_status); -CREATE INDEX idx_idempotent_id_retry_task_log ON er_retry_task_log (idempotent_id); -CREATE INDEX idx_unique_id ON er_retry_task_log (namespace_id, group_name, unique_id); -CREATE INDEX idx_biz_no_retry_task_log ON er_retry_task_log (biz_no); -CREATE INDEX idx_create_dt_retry_task_log ON er_retry_task_log (create_dt); - -COMMENT ON COLUMN er_retry_task_log.id IS '主键'; -COMMENT ON COLUMN er_retry_task_log.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_retry_task_log.unique_id IS '同组下id唯一'; -COMMENT ON COLUMN er_retry_task_log.group_name IS '组名称'; -COMMENT ON COLUMN er_retry_task_log.scene_name IS '场景名称'; -COMMENT ON COLUMN er_retry_task_log.idempotent_id IS '幂等id'; -COMMENT ON COLUMN er_retry_task_log.biz_no IS '业务编号'; -COMMENT ON COLUMN er_retry_task_log.executor_name IS '执行器名称'; -COMMENT ON COLUMN er_retry_task_log.args_str IS '执行方法参数'; -COMMENT ON COLUMN er_retry_task_log.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN er_retry_task_log.retry_status IS '重试状态 0、重试中 1、成功 2、最大次数'; -COMMENT ON COLUMN er_retry_task_log.task_type IS '任务类型 1、重试数据 2、回调数据'; -COMMENT ON COLUMN er_retry_task_log.create_dt IS '创建时间'; -COMMENT ON COLUMN er_retry_task_log.update_dt IS '修改时间'; -COMMENT ON TABLE er_retry_task_log IS '任务日志基础信息表'; - -CREATE TABLE er_retry_task_log_message -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL, - unique_id VARCHAR(64) NOT NULL, - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - message TEXT NOT NULL, - log_num INT NOT NULL DEFAULT 1, - real_time BIGINT NOT NULL DEFAULT 0 -); - -CREATE INDEX idx_namespace_id_group_name_unique_id ON er_retry_task_log_message (namespace_id, group_name, unique_id); -CREATE INDEX idx_create_dt ON er_retry_task_log_message (create_dt); -COMMENT ON COLUMN er_retry_task_log_message.id IS '主键'; -COMMENT ON COLUMN er_retry_task_log_message.namespace_id IS '命名空间'; -COMMENT ON COLUMN er_retry_task_log_message.group_name IS '组名称'; -COMMENT ON COLUMN er_retry_task_log_message.unique_id IS '同组下id唯一'; -COMMENT ON COLUMN er_retry_task_log_message.create_dt IS '创建时间'; -COMMENT ON COLUMN er_retry_task_log_message.message IS '异常信息'; -COMMENT ON COLUMN er_retry_task_log_message.log_num IS '日志条数'; -COMMENT ON COLUMN er_retry_task_log_message.real_time IS '实际时间'; -COMMENT ON TABLE er_retry_task_log_message IS '任务调度日志信息记录表'; - -CREATE TABLE er_scene_config -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - scene_name VARCHAR(64) NOT NULL, - group_name VARCHAR(64) NOT NULL, - scene_status SMALLINT NOT NULL DEFAULT 0, - max_retry_count INT NOT NULL DEFAULT 5, - back_off SMALLINT NOT NULL DEFAULT 1, - trigger_interval VARCHAR(16) NOT NULL DEFAULT '', - deadline_request BIGINT NOT NULL DEFAULT 60000, - route_key SMALLINT NOT NULL DEFAULT 4, - executor_timeout INT NOT NULL DEFAULT 5, - description VARCHAR(256) NOT NULL DEFAULT '', - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_namespace_id_group_name_scene_name ON er_scene_config (namespace_id, group_name, scene_name); -COMMENT ON COLUMN er_scene_config.id IS '主键'; -COMMENT ON COLUMN er_scene_config.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_scene_config.scene_name IS '场景名称'; -COMMENT ON COLUMN er_scene_config.group_name IS '组名称'; -COMMENT ON COLUMN er_scene_config.scene_status IS '组状态 0、未启用 1、启用'; -COMMENT ON COLUMN er_scene_config.max_retry_count IS '最大重试次数'; -COMMENT ON COLUMN er_scene_config.back_off IS '1、默认等级 2、固定间隔时间 3、CRON 表达式'; -COMMENT ON COLUMN er_scene_config.trigger_interval IS '间隔时长'; -COMMENT ON COLUMN er_scene_config.deadline_request IS 'Deadline Request 调用链超时 单位毫秒'; -COMMENT ON COLUMN er_scene_config.description IS '描述'; -COMMENT ON COLUMN er_scene_config.route_key IS '路由策略'; -COMMENT ON COLUMN er_scene_config.executor_timeout IS '超时时间'; -COMMENT ON COLUMN er_scene_config.create_dt IS '创建时间'; -COMMENT ON COLUMN er_scene_config.update_dt IS '修改时间'; -COMMENT ON TABLE er_scene_config IS '场景配置'; - -CREATE TABLE er_server_node -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL, - host_id VARCHAR(64) NOT NULL, - host_ip VARCHAR(64) NOT NULL, - context_path VARCHAR(256) NOT NULL DEFAULT '/', - host_port INT NOT NULL, - expire_at TIMESTAMP NOT NULL, - node_type SMALLINT NOT NULL, - ext_attrs VARCHAR(256) DEFAULT '', - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_host_id_host_ip ON er_server_node (host_id, host_ip); -CREATE INDEX idx_expire_at_node_type ON er_server_node (expire_at, node_type); -CREATE INDEX idx_namespace_id_group_name_server_node ON er_server_node (namespace_id, group_name); - -COMMENT ON COLUMN er_server_node.id IS '主键'; -COMMENT ON COLUMN er_server_node.group_name IS '组名称'; -COMMENT ON COLUMN er_server_node.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_server_node.host_id IS '主机id'; -COMMENT ON COLUMN er_server_node.host_ip IS '机器ip'; -COMMENT ON COLUMN er_server_node.context_path IS '客户端上下文路径 server.servlet.context-path'; -COMMENT ON COLUMN er_server_node.host_port IS '机器端口'; -COMMENT ON COLUMN er_server_node.expire_at IS '过期时间'; -COMMENT ON COLUMN er_server_node.node_type IS '节点类型 1、客户端 2、是服务端'; -COMMENT ON COLUMN er_server_node.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN er_server_node.create_dt IS '创建时间'; -COMMENT ON COLUMN er_server_node.update_dt IS '修改时间'; -COMMENT ON TABLE er_server_node IS '服务器节点'; - -CREATE TABLE er_distributed_lock -( - id BIGSERIAL PRIMARY KEY, - name VARCHAR(64) NOT NULL, - lock_until TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - locked_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - locked_by VARCHAR(255) NOT NULL, - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -ALTER TABLE er_distributed_lock - ADD CONSTRAINT uk_name UNIQUE (name); - -COMMENT ON COLUMN er_distributed_lock.id IS '主键'; -COMMENT ON COLUMN er_distributed_lock.name IS '锁名称'; -COMMENT ON COLUMN er_distributed_lock.lock_until IS '锁定时长'; -COMMENT ON COLUMN er_distributed_lock.locked_at IS '锁定时间'; -COMMENT ON COLUMN er_distributed_lock.locked_by IS '锁定者'; -COMMENT ON COLUMN er_distributed_lock.create_dt IS '创建时间'; -COMMENT ON COLUMN er_distributed_lock.update_dt IS '修改时间'; -COMMENT ON TABLE er_distributed_lock IS '锁定表'; - - -CREATE TABLE er_system_user -( - id BIGSERIAL PRIMARY KEY, - username VARCHAR(64) NOT NULL, - password VARCHAR(128) NOT NULL, - role SMALLINT NOT NULL DEFAULT 0, - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_username ON er_system_user (username); -COMMENT ON COLUMN er_system_user.id IS '主键'; -COMMENT ON COLUMN er_system_user.username IS '账号'; -COMMENT ON COLUMN er_system_user.password IS '密码'; -COMMENT ON COLUMN er_system_user.role IS '角色:1-普通用户、2-管理员'; -COMMENT ON COLUMN er_system_user.create_dt IS '创建时间'; -COMMENT ON COLUMN er_system_user.update_dt IS '修改时间'; -COMMENT ON TABLE er_system_user IS '系统用户表'; - --- pwd: admin -INSERT INTO er_system_user VALUES (1, 'admin', '465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', 2, now(), now()); - -CREATE TABLE er_system_user_permission -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL, - system_user_id BIGINT NOT NULL, - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_namespace_id_group_name_system_user_id ON er_system_user_permission (namespace_id, group_name, system_user_id); -COMMENT ON COLUMN er_system_user_permission.id IS '主键'; -COMMENT ON COLUMN er_system_user_permission.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_system_user_permission.group_name IS '组名称'; -COMMENT ON COLUMN er_system_user_permission.system_user_id IS '系统用户id'; -COMMENT ON COLUMN er_system_user_permission.create_dt IS '创建时间'; -COMMENT ON COLUMN er_system_user_permission.update_dt IS '修改时间'; -COMMENT ON TABLE er_system_user_permission IS '系统用户权限表'; - - -CREATE TABLE er_sequence_alloc -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL DEFAULT '', - max_id BIGINT NOT NULL DEFAULT 1, - step INT NOT NULL DEFAULT 100, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_namespace_id_group_name ON er_sequence_alloc (namespace_id, group_name); - -COMMENT ON COLUMN er_sequence_alloc.id IS '主键'; -COMMENT ON COLUMN er_sequence_alloc.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_sequence_alloc.group_name IS '组名称'; -COMMENT ON COLUMN er_sequence_alloc.max_id IS '最大id'; -COMMENT ON COLUMN er_sequence_alloc.step IS '步长'; -COMMENT ON COLUMN er_sequence_alloc.update_dt IS '更新时间'; -COMMENT ON TABLE er_sequence_alloc IS '号段模式序号ID分配表'; - --- 分布式调度DDL -CREATE TABLE er_job -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL, - job_name VARCHAR(64) NOT NULL, - args_str TEXT NOT NULL DEFAULT '', - args_type SMALLINT NOT NULL DEFAULT 1, - next_trigger_at BIGINT NOT NULL, - job_status SMALLINT NOT NULL DEFAULT 1, - task_type SMALLINT NOT NULL DEFAULT 1, - route_key SMALLINT NOT NULL DEFAULT 4, - executor_type SMALLINT NOT NULL DEFAULT 1, - executor_info VARCHAR(255) DEFAULT NULL, - trigger_type SMALLINT NOT NULL, - trigger_interval VARCHAR(255) NOT NULL, - block_strategy SMALLINT NOT NULL DEFAULT 1, - executor_timeout INT NOT NULL DEFAULT 0, - max_retry_times INT NOT NULL DEFAULT 0, - parallel_num INT NOT NULL DEFAULT 1, - retry_interval INT NOT NULL DEFAULT 0, - bucket_index INT NOT NULL DEFAULT 0, - resident SMALLINT NOT NULL DEFAULT 0, - description VARCHAR(256) NOT NULL DEFAULT '', - ext_attrs VARCHAR(256) DEFAULT NULL, - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - deleted SMALLINT NOT NULL DEFAULT 0 -); - -CREATE INDEX idx_namespace_id_group_name_job ON er_job (namespace_id, group_name); -CREATE INDEX idx_job_status_bucket_index_job ON er_job (job_status, bucket_index); -CREATE INDEX idx_create_dt_job ON er_job (create_dt); - -COMMENT ON COLUMN er_job.id IS '主键'; -COMMENT ON COLUMN er_job.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_job.group_name IS '组名称'; -COMMENT ON COLUMN er_job.job_name IS '名称'; -COMMENT ON COLUMN er_job.args_str IS '执行方法参数'; -COMMENT ON COLUMN er_job.args_type IS '参数类型'; -COMMENT ON COLUMN er_job.next_trigger_at IS '下次触发时间'; -COMMENT ON COLUMN er_job.job_status IS '重试状态 0、关闭、1、开启'; -COMMENT ON COLUMN er_job.task_type IS '任务类型 1、集群 2、广播 3、切片'; -COMMENT ON COLUMN er_job.route_key IS '路由策略'; -COMMENT ON COLUMN er_job.executor_type IS '执行器类型'; -COMMENT ON COLUMN er_job.executor_info IS '执行器名称'; -COMMENT ON COLUMN er_job.trigger_type IS '触发类型 1.CRON 表达式 2. 固定时间'; -COMMENT ON COLUMN er_job.trigger_interval IS '间隔时长'; -COMMENT ON COLUMN er_job.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行'; -COMMENT ON COLUMN er_job.executor_timeout IS '任务执行超时时间,单位秒'; -COMMENT ON COLUMN er_job.max_retry_times IS '最大重试次数'; -COMMENT ON COLUMN er_job.parallel_num IS '并行数'; -COMMENT ON COLUMN er_job.retry_interval IS '更新重试间隔(s)'; -COMMENT ON COLUMN er_job.bucket_index IS 'bucket'; -COMMENT ON COLUMN er_job.resident IS '是否是常驻任务'; -COMMENT ON COLUMN er_job.description IS '描述'; -COMMENT ON COLUMN er_job.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN er_job.create_dt IS '创建时间'; -COMMENT ON COLUMN er_job.deleted IS '逻辑删除 1、删除'; -COMMENT ON COLUMN er_job.update_dt IS '更新时间'; -COMMENT ON TABLE er_job IS '任务信息'; - -INSERT INTO er_job VALUES (1, 'dev', 'ruoyi_group', 'demo-job', null, 1, 1710344035622, 1, 1, 4, 1, 'testJobExecutor', 2, '60', 1, 60, 3, 1, 1, 116, 0, '', '', now(), now(), 0); - - -CREATE TABLE er_job_log_message -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL, - job_id BIGINT NOT NULL, - task_batch_id BIGINT NOT NULL, - task_id BIGINT NOT NULL, - message TEXT NOT NULL, - log_num INT NOT NULL DEFAULT 1, - real_time BIGINT NOT NULL DEFAULT 0, - ext_attrs VARCHAR(256) DEFAULT '', - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE INDEX idx_namespace_id_group_name_to_job_log_message ON er_job_log_message (namespace_id, group_name); -CREATE INDEX idx_task_batch_id_task_id_to_job_log_message ON er_job_log_message (task_batch_id, task_id); -CREATE INDEX idx_create_dt_to_job_log_message ON er_job_log_message (create_dt); - -COMMENT ON COLUMN er_job_log_message.id IS '主键'; -COMMENT ON COLUMN er_job_log_message.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_job_log_message.group_name IS '组名称'; -COMMENT ON COLUMN er_job_log_message.job_id IS '任务信息id'; -COMMENT ON COLUMN er_job_log_message.task_batch_id IS '任务批次id'; -COMMENT ON COLUMN er_job_log_message.task_id IS '调度任务id'; -COMMENT ON COLUMN er_job_log_message.message IS '调度信息'; -COMMENT ON COLUMN er_job_log_message.log_num IS '日志序号'; -COMMENT ON COLUMN er_job_log_message.real_time IS '实际时间'; -COMMENT ON COLUMN er_job_log_message.create_dt IS '创建时间'; -COMMENT ON COLUMN er_job_log_message.ext_attrs IS '扩展字段'; -COMMENT ON TABLE er_job_log_message IS '调度日志'; - -CREATE TABLE er_job_task -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL, - job_id BIGINT NOT NULL, - task_batch_id BIGINT NOT NULL, - parent_id BIGINT NOT NULL DEFAULT 0, - task_status SMALLINT NOT NULL DEFAULT 0, - retry_count INT NOT NULL DEFAULT 0, - client_info VARCHAR(128) DEFAULT NULL, - result_message TEXT NOT NULL, - args_str TEXT NOT NULL, - args_type SMALLINT NOT NULL DEFAULT 1, - ext_attrs VARCHAR(256) DEFAULT '', - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - - -CREATE INDEX idx_namespace_id_group_name_to_job_task ON er_job_task (namespace_id, group_name); -CREATE INDEX idx_task_batch_id_task_status_to_job_task ON er_job_task (task_batch_id, task_status); -CREATE INDEX idx_create_dt_to_job_task ON er_job_task (create_dt); -COMMENT ON COLUMN er_job_task.id IS '主键'; -COMMENT ON COLUMN er_job_task.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_job_task.group_name IS '组名称'; -COMMENT ON COLUMN er_job_task.job_id IS '任务信息id'; -COMMENT ON COLUMN er_job_task.task_batch_id IS '任务批次id'; -COMMENT ON COLUMN er_job_task.parent_id IS '父执行器id'; -COMMENT ON COLUMN er_job_task.task_status IS '执行的状态 0、失败 1、成功'; -COMMENT ON COLUMN er_job_task.retry_count IS '重试次数'; -COMMENT ON COLUMN er_job_task.client_info IS '客户端地址 clientId#ip:port'; -COMMENT ON COLUMN er_job_task.result_message IS '调度信息'; -COMMENT ON COLUMN er_job_task.args_str IS '执行方法参数'; -COMMENT ON COLUMN er_job_task.args_type IS '参数类型'; -COMMENT ON COLUMN er_job_task.create_dt IS '创建时间'; -COMMENT ON COLUMN er_job_task.update_dt IS '创建时间'; -COMMENT ON COLUMN er_job_task.ext_attrs IS '扩展字段'; -COMMENT ON TABLE er_job_task IS '任务实例'; - -CREATE TABLE er_job_task_batch -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL, - job_id BIGINT NOT NULL, - workflow_node_id BIGINT NOT NULL DEFAULT 0, - parent_workflow_node_id BIGINT NOT NULL DEFAULT 0, - workflow_task_batch_id BIGINT NOT NULL DEFAULT 0, - parent_id VARCHAR(64) NOT NULL DEFAULT '', - task_batch_status SMALLINT NOT NULL DEFAULT 0, - operation_reason SMALLINT NOT NULL DEFAULT 0, - execution_at BIGINT NOT NULL DEFAULT 0, - system_task_type SMALLINT NOT NULL DEFAULT 3, - ext_attrs VARCHAR(256) DEFAULT '', - deleted SMALLINT NOT NULL DEFAULT 0, - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE INDEX idx_namespace_id_group_name_to_job_task_batch ON er_job_task_batch (namespace_id, group_name); -CREATE INDEX idx_job_id_task_batch_status_to_job_task_batch ON er_job_task_batch (job_id, task_batch_status); -CREATE INDEX idx_create_dt_to_job_task_batch ON er_job_task_batch (create_dt); -CREATE INDEX idx_workflow_task_batch_id_workflow_node_id ON er_job_task_batch (workflow_task_batch_id, workflow_node_id); - -COMMENT ON COLUMN er_job_task_batch.id IS '主键'; -COMMENT ON COLUMN er_job_task_batch.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_job_task_batch.group_name IS '组名称'; -COMMENT ON COLUMN er_job_task_batch.job_id IS '任务信息id'; -COMMENT ON COLUMN er_job_task_batch.task_batch_status IS '任务批次状态 0、失败 1、成功'; -COMMENT ON COLUMN er_job_task_batch.operation_reason IS '操作原因'; -COMMENT ON COLUMN er_job_task_batch.workflow_node_id IS '工作流节点id'; -COMMENT ON COLUMN er_job_task_batch.parent_workflow_node_id IS '父节点'; -COMMENT ON COLUMN er_job_task_batch.workflow_task_batch_id IS '任务批次id'; -COMMENT ON COLUMN er_job_task_batch.system_task_type IS '任务类型 0、系统任务 1、业务任务'; -COMMENT ON COLUMN er_job_task_batch.execution_at IS '任务执行时间'; -COMMENT ON COLUMN er_job_task_batch.parent_id IS '父节点'; -COMMENT ON COLUMN er_job_task_batch.deleted IS '逻辑删除 1、删除'; -COMMENT ON COLUMN er_job_task_batch.create_dt IS '创建时间'; -COMMENT ON COLUMN er_job_task_batch.update_dt IS '创建时间'; -COMMENT ON COLUMN er_job_task_batch.ext_attrs IS '扩展字段'; -COMMENT ON TABLE er_job_task_batch IS '任务批次'; - -CREATE TABLE er_job_notify_config -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL, - job_id BIGINT NOT NULL, - notify_status SMALLINT NOT NULL DEFAULT 0, - notify_type SMALLINT NOT NULL DEFAULT 0, - notify_attribute VARCHAR(512) NOT NULL, - notify_threshold INT NOT NULL DEFAULT 0, - notify_scene SMALLINT NOT NULL DEFAULT 0, - rate_limiter_status SMALLINT NOT NULL DEFAULT 0, - rate_limiter_threshold INT NOT NULL DEFAULT 0, - description VARCHAR(256) NOT NULL DEFAULT '', - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE INDEX idx_namespace_id_group_name_job_id_job_notify_config ON er_job_notify_config (namespace_id, group_name, job_id); - -COMMENT ON COLUMN er_job_notify_config.id IS '主键'; -COMMENT ON COLUMN er_job_notify_config.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_job_notify_config.group_name IS '组名称'; -COMMENT ON COLUMN er_job_notify_config.job_id IS '任务信息id'; -COMMENT ON COLUMN er_job_notify_config.notify_status IS '通知状态 0、未启用 1、启用'; -COMMENT ON COLUMN er_job_notify_config.notify_type IS '通知类型 1、钉钉 2、邮件 3、企业微信'; -COMMENT ON COLUMN er_job_notify_config.notify_attribute IS '配置属性'; -COMMENT ON COLUMN er_job_notify_config.notify_threshold IS '通知阈值'; -COMMENT ON COLUMN er_job_notify_config.notify_scene IS '通知场景'; -COMMENT ON COLUMN er_job_notify_config.rate_limiter_status IS '限流状态 0、未启用 1、启用'; -COMMENT ON COLUMN er_job_notify_config.rate_limiter_threshold IS '每秒限流阈值'; -COMMENT ON COLUMN er_job_notify_config.description IS '描述'; -COMMENT ON COLUMN er_job_notify_config.create_dt IS '创建时间'; -COMMENT ON COLUMN er_job_notify_config.update_dt IS '修改时间'; -COMMENT ON TABLE er_job_notify_config IS '通知配置'; - -CREATE TABLE er_retry_summary -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL DEFAULT '', - scene_name VARCHAR(50) NOT NULL DEFAULT '', - trigger_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - running_num INT NOT NULL DEFAULT 0, - finish_num INT NOT NULL DEFAULT 0, - max_count_num INT NOT NULL DEFAULT 0, - suspend_num INT NOT NULL DEFAULT 0, - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_scene_name_trigger_at ON er_retry_summary (namespace_id, group_name, scene_name, trigger_at); - -COMMENT ON COLUMN er_retry_summary.id IS '主键'; -COMMENT ON COLUMN er_retry_summary.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_retry_summary.group_name IS '组名称'; -COMMENT ON COLUMN er_retry_summary.scene_name IS '场景名称'; -COMMENT ON COLUMN er_retry_summary.trigger_at IS '统计时间'; -COMMENT ON COLUMN er_retry_summary.running_num IS '重试中-日志数量'; -COMMENT ON COLUMN er_retry_summary.finish_num IS '重试完成-日志数量'; -COMMENT ON COLUMN er_retry_summary.max_count_num IS '重试到达最大次数-日志数量'; -COMMENT ON COLUMN er_retry_summary.suspend_num IS '暂停重试-日志数量'; -COMMENT ON COLUMN er_retry_summary.create_dt IS '创建时间'; -COMMENT ON COLUMN er_retry_summary.update_dt IS '修改时间'; -COMMENT ON TABLE er_retry_summary IS 'DashBoard_Retry'; - -CREATE TABLE er_job_summary -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL DEFAULT '', - business_id BIGINT NOT NULL, - system_task_type SMALLINT NOT NULL DEFAULT '3', - trigger_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - success_num INT NOT NULL DEFAULT 0, - fail_num INT NOT NULL DEFAULT 0, - fail_reason VARCHAR(512) NOT NULL DEFAULT '', - stop_num INT NOT NULL DEFAULT 0, - stop_reason VARCHAR(512) NOT NULL DEFAULT '', - cancel_num INT NOT NULL DEFAULT 0, - cancel_reason VARCHAR(512) NOT NULL DEFAULT '', - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_trigger_at_system_task_type_business_id ON er_job_summary (trigger_at, system_task_type, business_id); -CREATE INDEX idx_namespace_id_group_name_job_id ON er_job_summary (namespace_id, group_name, business_id); - -COMMENT ON COLUMN er_job_summary.id IS '主键'; -COMMENT ON COLUMN er_job_summary.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_job_summary.group_name IS '组名称'; -COMMENT ON COLUMN er_job_summary.business_id IS '业务id (job_id或workflow_id)'; -COMMENT ON COLUMN er_job_summary.system_task_type IS '任务类型 3、JOB任务 4、WORKFLOW任务'; -COMMENT ON COLUMN er_job_summary.trigger_at IS '统计时间'; -COMMENT ON COLUMN er_job_summary.success_num IS '执行成功-日志数量'; -COMMENT ON COLUMN er_job_summary.fail_num IS '执行失败-日志数量'; -COMMENT ON COLUMN er_job_summary.fail_reason IS '失败原因'; -COMMENT ON COLUMN er_job_summary.stop_num IS '执行失败-日志数量'; -COMMENT ON COLUMN er_job_summary.stop_reason IS '失败原因'; -COMMENT ON COLUMN er_job_summary.cancel_num IS '执行失败-日志数量'; -COMMENT ON COLUMN er_job_summary.cancel_reason IS '失败原因'; -COMMENT ON TABLE er_job_summary IS 'DashBoard_Job'; - -CREATE TABLE er_workflow -( - id BIGSERIAL PRIMARY KEY, - workflow_name varchar(64) NOT NULL, - namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name varchar(64) NOT NULL, - workflow_status smallint NOT NULL DEFAULT 1, - trigger_type smallint NOT NULL, - trigger_interval varchar(255) NOT NULL, - next_trigger_at BIGINT NOT NULL, - block_strategy smallint NOT NULL DEFAULT 1, - executor_timeout INT NOT NULL DEFAULT 0, - description varchar(256) NOT NULL DEFAULT '', - flow_info text DEFAULT NULL, - bucket_index INT NOT NULL DEFAULT 0, - version INT NOT NULL, - create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - deleted smallint NOT NULL DEFAULT 0, - ext_attrs varchar(256) NULL DEFAULT '' -); - - -CREATE INDEX idx_create_dt_workflow ON er_workflow (create_dt); -CREATE INDEX idx_namespace_id_group_name_workflow ON er_workflow (namespace_id, group_name); - -COMMENT ON TABLE er_workflow IS '工作流'; -COMMENT ON COLUMN er_workflow.id IS '主键'; -COMMENT ON COLUMN er_workflow.workflow_name IS '工作流名称'; -COMMENT ON COLUMN er_workflow.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_workflow.group_name IS '组名称'; -COMMENT ON COLUMN er_workflow.workflow_status IS '工作流状态 0、关闭、1、开启'; -COMMENT ON COLUMN er_workflow.trigger_type IS '触发类型 1.CRON 表达式 2. 固定时间'; -COMMENT ON COLUMN er_workflow.trigger_interval IS '间隔时长'; -COMMENT ON COLUMN er_workflow.next_trigger_at IS '下次触发时间'; -COMMENT ON COLUMN er_workflow.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行'; -COMMENT ON COLUMN er_workflow.executor_timeout IS '任务执行超时时间,单位秒'; -COMMENT ON COLUMN er_workflow.description IS '描述'; -COMMENT ON COLUMN er_workflow.flow_info IS '流程信息'; -COMMENT ON COLUMN er_workflow.bucket_index IS 'bucket'; -COMMENT ON COLUMN er_workflow.version IS '版本号'; -COMMENT ON COLUMN er_workflow.create_dt IS '创建时间'; -COMMENT ON COLUMN er_workflow.update_dt IS '修改时间'; -COMMENT ON COLUMN er_workflow.deleted IS '逻辑删除 1、删除'; -COMMENT ON COLUMN er_workflow.ext_attrs IS '扩展字段'; - -CREATE TABLE er_workflow_node -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - node_name VARCHAR(64) NOT NULL, - group_name VARCHAR(64) NOT NULL, - job_id BIGINT NOT NULL, - workflow_id BIGINT NOT NULL, - node_type SMALLINT NOT NULL DEFAULT 1, - expression_type SMALLINT NOT NULL DEFAULT 0, - fail_strategy SMALLINT NOT NULL DEFAULT 1, - workflow_node_status SMALLINT NOT NULL DEFAULT 1, - priority_level INT NOT NULL DEFAULT 1, - node_info TEXT DEFAULT NULL, - version INT NOT NULL, - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - deleted SMALLINT NOT NULL DEFAULT 0, - ext_attrs VARCHAR(256) NULL DEFAULT '' -); - -CREATE INDEX idx_create_dt_workflow_node ON er_workflow_node (create_dt); -CREATE INDEX idx_namespace_id_group_name_workflow_node ON er_workflow_node (namespace_id, group_name); - -COMMENT ON TABLE er_workflow_node IS '工作流节点'; -COMMENT ON COLUMN er_workflow_node.id IS '主键'; -COMMENT ON COLUMN er_workflow_node.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_workflow_node.node_name IS '节点名称'; -COMMENT ON COLUMN er_workflow_node.group_name IS '组名称'; -COMMENT ON COLUMN er_workflow_node.job_id IS '任务信息id'; -COMMENT ON COLUMN er_workflow_node.workflow_id IS '工作流ID'; -COMMENT ON COLUMN er_workflow_node.node_type IS '1、任务节点 2、条件节点'; -COMMENT ON COLUMN er_workflow_node.expression_type IS '1、SpEl、2、Aviator 3、QL'; -COMMENT ON COLUMN er_workflow_node.fail_strategy IS '失败策略 1、跳过 2、阻塞'; -COMMENT ON COLUMN er_workflow_node.workflow_node_status IS '工作流节点状态 0、关闭、1、开启'; -COMMENT ON COLUMN er_workflow_node.priority_level IS '优先级'; -COMMENT ON COLUMN er_workflow_node.node_info IS '节点信息'; -COMMENT ON COLUMN er_workflow_node.version IS '版本号'; -COMMENT ON COLUMN er_workflow_node.create_dt IS '创建时间'; -COMMENT ON COLUMN er_workflow_node.update_dt IS '修改时间'; -COMMENT ON COLUMN er_workflow_node.deleted IS '逻辑删除 1、删除'; -COMMENT ON COLUMN er_workflow_node.ext_attrs IS '扩展字段'; - -CREATE TABLE er_workflow_task_batch -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL, - workflow_id BIGINT NOT NULL, - task_batch_status SMALLINT NOT NULL DEFAULT 0, - operation_reason SMALLINT NOT NULL DEFAULT 0, - flow_info TEXT DEFAULT NULL, - execution_at BIGINT NOT NULL DEFAULT 0, - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - deleted SMALLINT NOT NULL DEFAULT 0, - ext_attrs VARCHAR(256) NULL DEFAULT '' -); - -CREATE INDEX idx_job_id_task_batch_status_workflow_task_batch ON er_workflow_task_batch (workflow_id, task_batch_status); -CREATE INDEX idx_create_dt_workflow_task_batch ON er_workflow_task_batch (create_dt); -CREATE INDEX idx_namespace_id_group_name_workflow_task_batch ON er_workflow_task_batch (namespace_id, group_name); - -COMMENT ON TABLE er_workflow_task_batch IS '工作流批次'; -COMMENT ON COLUMN er_workflow_task_batch.id IS '主键'; -COMMENT ON COLUMN er_workflow_task_batch.namespace_id IS '命名空间id'; -COMMENT ON COLUMN er_workflow_task_batch.group_name IS '组名称'; -COMMENT ON COLUMN er_workflow_task_batch.workflow_id IS '工作流任务id'; -COMMENT ON COLUMN er_workflow_task_batch.task_batch_status IS '任务批次状态 0、失败 1、成功'; -COMMENT ON COLUMN er_workflow_task_batch.operation_reason IS '操作原因'; -COMMENT ON COLUMN er_workflow_task_batch.flow_info IS '流程信息'; -COMMENT ON COLUMN er_workflow_task_batch.execution_at IS '任务执行时间'; -COMMENT ON COLUMN er_workflow_task_batch.create_dt IS '创建时间'; -COMMENT ON COLUMN er_workflow_task_batch.update_dt IS '修改时间'; -COMMENT ON COLUMN er_workflow_task_batch.deleted IS '逻辑删除 1、删除'; -COMMENT ON COLUMN er_workflow_task_batch.ext_attrs IS '扩展字段'; diff --git a/sql/postgres/postgres_ry_job.sql b/sql/postgres/postgres_ry_job.sql index 56d3bcbc1..48189606a 100644 --- a/sql/postgres/postgres_ry_job.sql +++ b/sql/postgres/postgres_ry_job.sql @@ -1,258 +1,808 @@ --- pj_app_info definition +-- PostgreSQL DDL --- Drop table - --- DROP TABLE pj_app_info; - -CREATE TABLE pj_app_info ( - id int8 NOT NULL, - app_name varchar(255) NULL, - current_server varchar(255) NULL, - gmt_create timestamp NULL, - gmt_modified timestamp NULL, - "password" varchar(255) NULL, - CONSTRAINT pj_app_info_pkey PRIMARY KEY (id), - CONSTRAINT uidx01_app_info UNIQUE (app_name) +CREATE TABLE er_namespace +( + id BIGSERIAL PRIMARY KEY, + name VARCHAR(64) NOT NULL, + unique_id VARCHAR(64) NOT NULL, + description VARCHAR(256) NOT NULL DEFAULT '', + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + deleted SMALLINT NOT NULL DEFAULT 0 ); -INSERT INTO pj_app_info VALUES(1, 'ruoyi-worker', '127.0.0.1:10010', '2023-06-13 16:32:59.263', '2023-07-04 17:25:49.798', '123456'); +CREATE UNIQUE INDEX uk_namespace_unique_id ON er_namespace (unique_id); +COMMENT ON COLUMN er_namespace.id IS '主键'; +COMMENT ON COLUMN er_namespace.name IS '名称'; +COMMENT ON COLUMN er_namespace.unique_id IS '唯一id'; +COMMENT ON COLUMN er_namespace.description IS '描述'; +COMMENT ON COLUMN er_namespace.create_dt IS '创建时间'; +COMMENT ON COLUMN er_namespace.update_dt IS '修改时间'; +COMMENT ON COLUMN er_namespace.deleted IS '逻辑删除 1、删除'; +COMMENT ON TABLE er_namespace IS '命名空间'; +INSERT INTO er_namespace VALUES (1, 'Development', 'dev', '', now(), now(), 0); +INSERT INTO er_namespace VALUES (2, 'Production', 'prod', '', now(), now(), 0); --- pj_container_info definition - --- Drop table - --- DROP TABLE pj_container_info; - -CREATE TABLE pj_container_info ( - id int8 NOT NULL, - app_id int8 NULL, - container_name varchar(255) NULL, - gmt_create timestamp NULL, - gmt_modified timestamp NULL, - last_deploy_time timestamp NULL, - source_info varchar(255) NULL, - source_type int4 NULL, - status int4 NULL, - "version" varchar(255) NULL, - CONSTRAINT pj_container_info_pkey PRIMARY KEY (id) +CREATE TABLE er_group_config +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + description VARCHAR(256) DEFAULT '', + token VARCHAR(64) DEFAULT 'ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', + group_status SMALLINT NOT NULL DEFAULT 0, + version INT NOT NULL, + group_partition INT NOT NULL, + id_generator_mode SMALLINT NOT NULL DEFAULT 1, + init_scene SMALLINT NOT NULL DEFAULT 0, + bucket_index INT NOT NULL DEFAULT 0, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); -CREATE INDEX idx01_container_info ON pj_container_info USING btree (app_id); +CREATE UNIQUE INDEX uk_namespace_id_group_name_group_config ON er_group_config (namespace_id, group_name); --- pj_instance_info definition +COMMENT ON COLUMN er_group_config.id IS '主键'; +COMMENT ON COLUMN er_group_config.namespace_id IS '命名空间'; +COMMENT ON COLUMN er_group_config.group_name IS '组名称'; +COMMENT ON COLUMN er_group_config.description IS '组描述'; +COMMENT ON COLUMN er_group_config.token IS 'token'; +COMMENT ON COLUMN er_group_config.group_status IS '组状态 0、未启用 1、启用'; +COMMENT ON COLUMN er_group_config.version IS '版本号'; +COMMENT ON COLUMN er_group_config.group_partition IS '分区'; +COMMENT ON COLUMN er_group_config.id_generator_mode IS '唯一id生成模式 默认号段模式'; +COMMENT ON COLUMN er_group_config.init_scene IS '是否初始化场景 0:否 1:是'; +COMMENT ON COLUMN er_group_config.bucket_index IS 'bucket'; +COMMENT ON COLUMN er_group_config.create_dt IS '创建时间'; +COMMENT ON COLUMN er_group_config.update_dt IS '修改时间'; +COMMENT ON TABLE er_group_config IS '组配置'; --- Drop table +INSERT INTO er_group_config VALUES (1, 'dev', 'ruoyi_group', '', 'ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, 4, now(), now()); --- DROP TABLE pj_instance_info; - -CREATE TABLE pj_instance_info ( - id int8 NOT NULL, - actual_trigger_time int8 NULL, - app_id int8 NULL, - expected_trigger_time int8 NULL, - finished_time int8 NULL, - gmt_create timestamp NULL, - gmt_modified timestamp NULL, - instance_id int8 NULL, - instance_params oid NULL, - job_id int8 NULL, - job_params oid NULL, - last_report_time int8 NULL, - "result" oid NULL, - running_times int8 NULL, - status int4 NULL, - task_tracker_address varchar(255) NULL, - "type" int4 NULL, - wf_instance_id int8 NULL, - CONSTRAINT pj_instance_info_pkey PRIMARY KEY (id) +CREATE TABLE er_notify_config +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + scene_name VARCHAR(64) NOT NULL, + notify_status SMALLINT NOT NULL DEFAULT 0, + notify_type SMALLINT NOT NULL DEFAULT 0, + notify_attribute VARCHAR(512) NOT NULL, + notify_threshold INT NOT NULL DEFAULT 0, + notify_scene SMALLINT NOT NULL DEFAULT 0, + rate_limiter_status SMALLINT NOT NULL DEFAULT 0, + rate_limiter_threshold INT NOT NULL DEFAULT 0, + description VARCHAR(256) NOT NULL DEFAULT '', + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); -CREATE INDEX idx01_instance_info ON pj_instance_info USING btree (job_id, status); -CREATE INDEX idx02_instance_info ON pj_instance_info USING btree (app_id, status); -CREATE INDEX idx03_instance_info ON pj_instance_info USING btree (instance_id, status); + +CREATE INDEX idx_namespace_id_group_name_notify_config ON er_notify_config (namespace_id, group_name); + +COMMENT ON COLUMN er_notify_config.id IS '主键'; +COMMENT ON COLUMN er_notify_config.group_name IS '组名称'; +COMMENT ON COLUMN er_notify_config.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_notify_config.scene_name IS '场景名称'; +COMMENT ON COLUMN er_notify_config.notify_status IS '通知状态 0、未启用 1、启用'; +COMMENT ON COLUMN er_notify_config.notify_type IS '通知类型 1、钉钉 2、邮件 3、企业微信'; +COMMENT ON COLUMN er_notify_config.notify_attribute IS '配置属性'; +COMMENT ON COLUMN er_notify_config.notify_threshold IS '通知阈值'; +COMMENT ON COLUMN er_notify_config.notify_scene IS '通知场景'; +COMMENT ON COLUMN er_notify_config.rate_limiter_status IS '限流状态 0、未启用 1、启用'; +COMMENT ON COLUMN er_notify_config.rate_limiter_threshold IS '每秒限流阈值'; +COMMENT ON COLUMN er_notify_config.description IS '描述'; +COMMENT ON COLUMN er_notify_config.create_dt IS '创建时间'; +COMMENT ON COLUMN er_notify_config.update_dt IS '修改时间'; +COMMENT ON TABLE er_notify_config IS '通知配置'; --- pj_job_info definition - --- Drop table - --- DROP TABLE pj_job_info; - -CREATE TABLE pj_job_info ( - id int8 NOT NULL, - alarm_config varchar(255) NULL, - app_id int8 NULL, - concurrency int4 NULL, - designated_workers varchar(255) NULL, - dispatch_strategy int4 NULL, - execute_type int4 NULL, - extra varchar(255) NULL, - gmt_create timestamp NULL, - gmt_modified timestamp NULL, - instance_retry_num int4 NULL, - instance_time_limit int8 NULL, - job_description varchar(255) NULL, - job_name varchar(255) NULL, - job_params oid NULL, - lifecycle varchar(255) NULL, - log_config varchar(255) NULL, - max_instance_num int4 NULL, - max_worker_count int4 NULL, - min_cpu_cores float8 NOT NULL, - min_disk_space float8 NOT NULL, - min_memory_space float8 NOT NULL, - next_trigger_time int8 NULL, - notify_user_ids varchar(255) NULL, - processor_info varchar(255) NULL, - processor_type int4 NULL, - status int4 NULL, - tag varchar(255) NULL, - task_retry_num int4 NULL, - time_expression varchar(255) NULL, - time_expression_type int4 NULL, - CONSTRAINT pj_job_info_pkey PRIMARY KEY (id) +CREATE TABLE er_retry_dead_letter_0 +( + id BIGSERIAL PRIMARY KEY, + unique_id VARCHAR(64) NOT NULL, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + scene_name VARCHAR(64) NOT NULL, + idempotent_id VARCHAR(64) NOT NULL, + biz_no VARCHAR(64) NOT NULL DEFAULT '', + executor_name VARCHAR(512) NOT NULL DEFAULT '', + args_str TEXT NOT NULL, + ext_attrs TEXT NOT NULL, + task_type SMALLINT NOT NULL DEFAULT 1, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); -CREATE INDEX idx01_job_info ON pj_job_info USING btree (app_id, status, time_expression_type, next_trigger_time); + +CREATE UNIQUE INDEX uk_namespace_id_group_name_unique_id_retry_dead_letter ON er_retry_dead_letter_0 (namespace_id, group_name, unique_id); +CREATE INDEX idx_namespace_id_group_name_scene_name_retry_dead_letter ON er_retry_dead_letter_0 (namespace_id, group_name, scene_name); +CREATE INDEX idx_idempotent_id_retry_dead_letter ON er_retry_dead_letter_0 (idempotent_id); +CREATE INDEX idx_biz_no_retry_dead_letter ON er_retry_dead_letter_0 (biz_no); +CREATE INDEX idx_create_dt_retry_dead_letter ON er_retry_dead_letter_0 (create_dt); + +COMMENT ON COLUMN er_retry_dead_letter_0.id IS '主键'; +COMMENT ON COLUMN er_retry_dead_letter_0.unique_id IS '同组下id唯一'; +COMMENT ON COLUMN er_retry_dead_letter_0.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_retry_dead_letter_0.group_name IS '组名称'; +COMMENT ON COLUMN er_retry_dead_letter_0.scene_name IS '场景名称'; +COMMENT ON COLUMN er_retry_dead_letter_0.idempotent_id IS '幂等id'; +COMMENT ON COLUMN er_retry_dead_letter_0.biz_no IS '业务编号'; +COMMENT ON COLUMN er_retry_dead_letter_0.executor_name IS '执行器名称'; +COMMENT ON COLUMN er_retry_dead_letter_0.args_str IS '执行方法参数'; +COMMENT ON COLUMN er_retry_dead_letter_0.ext_attrs IS '扩展字段'; +COMMENT ON COLUMN er_retry_dead_letter_0.task_type IS '任务类型 1、重试数据 2、回调数据'; +COMMENT ON COLUMN er_retry_dead_letter_0.create_dt IS '创建时间'; +COMMENT ON TABLE er_retry_dead_letter_0 IS '死信队列表'; + +CREATE TABLE er_retry_task_0 +( + id BIGSERIAL PRIMARY KEY, + unique_id VARCHAR(64) NOT NULL, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + scene_name VARCHAR(64) NOT NULL, + idempotent_id VARCHAR(64) NOT NULL, + biz_no VARCHAR(64) NOT NULL DEFAULT '', + executor_name VARCHAR(512) NOT NULL DEFAULT '', + args_str TEXT NOT NULL, + ext_attrs TEXT NOT NULL, + next_trigger_at TIMESTAMP NOT NULL, + retry_count INT NOT NULL DEFAULT 0, + retry_status SMALLINT NOT NULL DEFAULT 0, + task_type SMALLINT NOT NULL DEFAULT 1, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_name_unique_id_retry_task ON er_retry_task_0 (namespace_id, group_name, unique_id); +CREATE INDEX idx_namespace_id_group_name_scene_name_retry_task ON er_retry_task_0 (namespace_id, group_name, scene_name); +CREATE INDEX idx_namespace_id_group_name_retry_status_retry_task ON er_retry_task_0 (namespace_id, group_name, retry_status); +CREATE INDEX idx_idempotent_id_retry_task ON er_retry_task_0 (idempotent_id); +CREATE INDEX idx_biz_no_retry_task ON er_retry_task_0 (biz_no); +CREATE INDEX idx_create_dt_retry_task ON er_retry_task_0 (create_dt); + +COMMENT ON COLUMN er_retry_task_0.id IS '主键'; +COMMENT ON COLUMN er_retry_task_0.unique_id IS '同组下id唯一'; +COMMENT ON COLUMN er_retry_task_0.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_retry_task_0.group_name IS '组名称'; +COMMENT ON COLUMN er_retry_task_0.scene_name IS '场景名称'; +COMMENT ON COLUMN er_retry_task_0.idempotent_id IS '幂等id'; +COMMENT ON COLUMN er_retry_task_0.biz_no IS '业务编号'; +COMMENT ON COLUMN er_retry_task_0.executor_name IS '执行器名称'; +COMMENT ON COLUMN er_retry_task_0.args_str IS '执行方法参数'; +COMMENT ON COLUMN er_retry_task_0.ext_attrs IS '扩展字段'; +COMMENT ON COLUMN er_retry_task_0.next_trigger_at IS '下次触发时间'; +COMMENT ON COLUMN er_retry_task_0.retry_count IS '重试次数'; +COMMENT ON COLUMN er_retry_task_0.retry_status IS '重试状态 0、重试中 1、成功 2、最大重试次数'; +COMMENT ON COLUMN er_retry_task_0.task_type IS '任务类型 1、重试数据 2、回调数据'; +COMMENT ON COLUMN er_retry_task_0.create_dt IS '创建时间'; +COMMENT ON COLUMN er_retry_task_0.update_dt IS '修改时间'; +COMMENT ON TABLE er_retry_task_0 IS '任务表'; + +CREATE TABLE er_retry_task_log +( + id BIGSERIAL PRIMARY KEY, + unique_id VARCHAR(64) NOT NULL, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + scene_name VARCHAR(64) NOT NULL, + idempotent_id VARCHAR(64) NOT NULL, + biz_no VARCHAR(64) NOT NULL DEFAULT '', + executor_name VARCHAR(512) NOT NULL DEFAULT '', + args_str TEXT NOT NULL, + ext_attrs TEXT NOT NULL, + retry_status SMALLINT NOT NULL DEFAULT 0, + task_type SMALLINT NOT NULL DEFAULT 1, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP + +); + +CREATE INDEX idx_group_name_scene_name_retry_task_log ON er_retry_task_log (namespace_id, group_name, scene_name); +CREATE INDEX idx_retry_status_retry_task_log ON er_retry_task_log (retry_status); +CREATE INDEX idx_idempotent_id_retry_task_log ON er_retry_task_log (idempotent_id); +CREATE INDEX idx_unique_id ON er_retry_task_log (namespace_id, group_name, unique_id); +CREATE INDEX idx_biz_no_retry_task_log ON er_retry_task_log (biz_no); +CREATE INDEX idx_create_dt_retry_task_log ON er_retry_task_log (create_dt); + +COMMENT ON COLUMN er_retry_task_log.id IS '主键'; +COMMENT ON COLUMN er_retry_task_log.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_retry_task_log.unique_id IS '同组下id唯一'; +COMMENT ON COLUMN er_retry_task_log.group_name IS '组名称'; +COMMENT ON COLUMN er_retry_task_log.scene_name IS '场景名称'; +COMMENT ON COLUMN er_retry_task_log.idempotent_id IS '幂等id'; +COMMENT ON COLUMN er_retry_task_log.biz_no IS '业务编号'; +COMMENT ON COLUMN er_retry_task_log.executor_name IS '执行器名称'; +COMMENT ON COLUMN er_retry_task_log.args_str IS '执行方法参数'; +COMMENT ON COLUMN er_retry_task_log.ext_attrs IS '扩展字段'; +COMMENT ON COLUMN er_retry_task_log.retry_status IS '重试状态 0、重试中 1、成功 2、最大次数'; +COMMENT ON COLUMN er_retry_task_log.task_type IS '任务类型 1、重试数据 2、回调数据'; +COMMENT ON COLUMN er_retry_task_log.create_dt IS '创建时间'; +COMMENT ON COLUMN er_retry_task_log.update_dt IS '修改时间'; +COMMENT ON TABLE er_retry_task_log IS '任务日志基础信息表'; + +CREATE TABLE er_retry_task_log_message +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + unique_id VARCHAR(64) NOT NULL, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + message TEXT NOT NULL, + log_num INT NOT NULL DEFAULT 1, + real_time BIGINT NOT NULL DEFAULT 0 +); + +CREATE INDEX idx_namespace_id_group_name_unique_id ON er_retry_task_log_message (namespace_id, group_name, unique_id); +CREATE INDEX idx_create_dt ON er_retry_task_log_message (create_dt); +COMMENT ON COLUMN er_retry_task_log_message.id IS '主键'; +COMMENT ON COLUMN er_retry_task_log_message.namespace_id IS '命名空间'; +COMMENT ON COLUMN er_retry_task_log_message.group_name IS '组名称'; +COMMENT ON COLUMN er_retry_task_log_message.unique_id IS '同组下id唯一'; +COMMENT ON COLUMN er_retry_task_log_message.create_dt IS '创建时间'; +COMMENT ON COLUMN er_retry_task_log_message.message IS '异常信息'; +COMMENT ON COLUMN er_retry_task_log_message.log_num IS '日志条数'; +COMMENT ON COLUMN er_retry_task_log_message.real_time IS '实际时间'; +COMMENT ON TABLE er_retry_task_log_message IS '任务调度日志信息记录表'; + +CREATE TABLE er_scene_config +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + scene_name VARCHAR(64) NOT NULL, + group_name VARCHAR(64) NOT NULL, + scene_status SMALLINT NOT NULL DEFAULT 0, + max_retry_count INT NOT NULL DEFAULT 5, + back_off SMALLINT NOT NULL DEFAULT 1, + trigger_interval VARCHAR(16) NOT NULL DEFAULT '', + deadline_request BIGINT NOT NULL DEFAULT 60000, + route_key SMALLINT NOT NULL DEFAULT 4, + executor_timeout INT NOT NULL DEFAULT 5, + description VARCHAR(256) NOT NULL DEFAULT '', + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_namespace_id_group_name_scene_name ON er_scene_config (namespace_id, group_name, scene_name); +COMMENT ON COLUMN er_scene_config.id IS '主键'; +COMMENT ON COLUMN er_scene_config.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_scene_config.scene_name IS '场景名称'; +COMMENT ON COLUMN er_scene_config.group_name IS '组名称'; +COMMENT ON COLUMN er_scene_config.scene_status IS '组状态 0、未启用 1、启用'; +COMMENT ON COLUMN er_scene_config.max_retry_count IS '最大重试次数'; +COMMENT ON COLUMN er_scene_config.back_off IS '1、默认等级 2、固定间隔时间 3、CRON 表达式'; +COMMENT ON COLUMN er_scene_config.trigger_interval IS '间隔时长'; +COMMENT ON COLUMN er_scene_config.deadline_request IS 'Deadline Request 调用链超时 单位毫秒'; +COMMENT ON COLUMN er_scene_config.description IS '描述'; +COMMENT ON COLUMN er_scene_config.route_key IS '路由策略'; +COMMENT ON COLUMN er_scene_config.executor_timeout IS '超时时间'; +COMMENT ON COLUMN er_scene_config.create_dt IS '创建时间'; +COMMENT ON COLUMN er_scene_config.update_dt IS '修改时间'; +COMMENT ON TABLE er_scene_config IS '场景配置'; + +CREATE TABLE er_server_node +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + host_id VARCHAR(64) NOT NULL, + host_ip VARCHAR(64) NOT NULL, + context_path VARCHAR(256) NOT NULL DEFAULT '/', + host_port INT NOT NULL, + expire_at TIMESTAMP NOT NULL, + node_type SMALLINT NOT NULL, + ext_attrs VARCHAR(256) DEFAULT '', + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_host_id_host_ip ON er_server_node (host_id, host_ip); +CREATE INDEX idx_expire_at_node_type ON er_server_node (expire_at, node_type); +CREATE INDEX idx_namespace_id_group_name_server_node ON er_server_node (namespace_id, group_name); + +COMMENT ON COLUMN er_server_node.id IS '主键'; +COMMENT ON COLUMN er_server_node.group_name IS '组名称'; +COMMENT ON COLUMN er_server_node.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_server_node.host_id IS '主机id'; +COMMENT ON COLUMN er_server_node.host_ip IS '机器ip'; +COMMENT ON COLUMN er_server_node.context_path IS '客户端上下文路径 server.servlet.context-path'; +COMMENT ON COLUMN er_server_node.host_port IS '机器端口'; +COMMENT ON COLUMN er_server_node.expire_at IS '过期时间'; +COMMENT ON COLUMN er_server_node.node_type IS '节点类型 1、客户端 2、是服务端'; +COMMENT ON COLUMN er_server_node.ext_attrs IS '扩展字段'; +COMMENT ON COLUMN er_server_node.create_dt IS '创建时间'; +COMMENT ON COLUMN er_server_node.update_dt IS '修改时间'; +COMMENT ON TABLE er_server_node IS '服务器节点'; + +CREATE TABLE er_distributed_lock +( + id BIGSERIAL PRIMARY KEY, + name VARCHAR(64) NOT NULL, + lock_until TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + locked_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + locked_by VARCHAR(255) NOT NULL, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +ALTER TABLE er_distributed_lock + ADD CONSTRAINT uk_name UNIQUE (name); + +COMMENT ON COLUMN er_distributed_lock.id IS '主键'; +COMMENT ON COLUMN er_distributed_lock.name IS '锁名称'; +COMMENT ON COLUMN er_distributed_lock.lock_until IS '锁定时长'; +COMMENT ON COLUMN er_distributed_lock.locked_at IS '锁定时间'; +COMMENT ON COLUMN er_distributed_lock.locked_by IS '锁定者'; +COMMENT ON COLUMN er_distributed_lock.create_dt IS '创建时间'; +COMMENT ON COLUMN er_distributed_lock.update_dt IS '修改时间'; +COMMENT ON TABLE er_distributed_lock IS '锁定表'; -INSERT INTO pj_job_info VALUES(1, '{"alertThreshold":0,"silenceWindowLen":0,"statisticWindowLen":0}', 1, 5, '', 2, 1, NULL, '2023-06-02 15:01:27.717', '2023-07-04 17:22:12.374', 1, 0, '', '单机处理器执行测试', NULL, '{}', '{"type":1}', 0, 0, 0.0, 0.0, 0.0, NULL, NULL, 'org.dromara.job.processors.StandaloneProcessorDemo', 1, 2, NULL, 1, '30000', 3); -INSERT INTO pj_job_info VALUES(2, '{"alertThreshold":0,"silenceWindowLen":0,"statisticWindowLen":0}', 1, 5, '', 1, 2, NULL, '2023-06-02 15:04:45.342', '2023-07-04 17:22:12.816', 0, 0, NULL, '广播处理器测试', NULL, '{}', '{"type":1}', 0, 0, 0.0, 0.0, 0.0, NULL, NULL, 'org.dromara.job.processors.BroadcastProcessorDemo', 1, 2, NULL, 1, '30000', 3); -INSERT INTO pj_job_info VALUES(3, '{"alertThreshold":0,"silenceWindowLen":0,"statisticWindowLen":0}', 1, 5, '', 1, 4, NULL, '2023-06-02 15:13:23.519', '2023-06-02 16:03:22.421', 0, 0, NULL, 'Map处理器测试', NULL, '{}', '{"type":1}', 0, 0, 0.0, 0.0, 0.0, NULL, NULL, 'org.dromara.job.processors.MapProcessorDemo', 1, 2, NULL, 1, '1000', 3); -INSERT INTO pj_job_info VALUES(4, '{"alertThreshold":0,"silenceWindowLen":0,"statisticWindowLen":0}', 1, 5, '', 1, 3, NULL, '2023-06-02 15:45:25.896', '2023-06-02 16:03:23.125', 0, 0, NULL, 'MapReduce处理器测试', NULL, '{}', '{"type":1}', 0, 0, 0.0, 0.0, 0.0, NULL, NULL, 'org.dromara.job.processors.MapReduceProcessorDemo', 1, 2, NULL, 1, '1000', 3); +CREATE TABLE er_system_user +( + id BIGSERIAL PRIMARY KEY, + username VARCHAR(64) NOT NULL, + password VARCHAR(128) NOT NULL, + role SMALLINT NOT NULL DEFAULT 0, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_username ON er_system_user (username); +COMMENT ON COLUMN er_system_user.id IS '主键'; +COMMENT ON COLUMN er_system_user.username IS '账号'; +COMMENT ON COLUMN er_system_user.password IS '密码'; +COMMENT ON COLUMN er_system_user.role IS '角色:1-普通用户、2-管理员'; +COMMENT ON COLUMN er_system_user.create_dt IS '创建时间'; +COMMENT ON COLUMN er_system_user.update_dt IS '修改时间'; +COMMENT ON TABLE er_system_user IS '系统用户表'; + +-- pwd: admin +INSERT INTO er_system_user VALUES (1, 'admin', '465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', 2, now(), now()); + +CREATE TABLE er_system_user_permission +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + system_user_id BIGINT NOT NULL, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_namespace_id_group_name_system_user_id ON er_system_user_permission (namespace_id, group_name, system_user_id); +COMMENT ON COLUMN er_system_user_permission.id IS '主键'; +COMMENT ON COLUMN er_system_user_permission.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_system_user_permission.group_name IS '组名称'; +COMMENT ON COLUMN er_system_user_permission.system_user_id IS '系统用户id'; +COMMENT ON COLUMN er_system_user_permission.create_dt IS '创建时间'; +COMMENT ON COLUMN er_system_user_permission.update_dt IS '修改时间'; +COMMENT ON TABLE er_system_user_permission IS '系统用户权限表'; --- pj_oms_lock definition +CREATE TABLE er_sequence_alloc +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL DEFAULT '', + max_id BIGINT NOT NULL DEFAULT 1, + step INT NOT NULL DEFAULT 100, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); --- Drop table +CREATE UNIQUE INDEX uk_namespace_id_group_name ON er_sequence_alloc (namespace_id, group_name); --- DROP TABLE pj_oms_lock; +COMMENT ON COLUMN er_sequence_alloc.id IS '主键'; +COMMENT ON COLUMN er_sequence_alloc.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_sequence_alloc.group_name IS '组名称'; +COMMENT ON COLUMN er_sequence_alloc.max_id IS '最大id'; +COMMENT ON COLUMN er_sequence_alloc.step IS '步长'; +COMMENT ON COLUMN er_sequence_alloc.update_dt IS '更新时间'; +COMMENT ON TABLE er_sequence_alloc IS '号段模式序号ID分配表'; -CREATE TABLE pj_oms_lock ( - id int8 NOT NULL, - gmt_create timestamp NULL, - gmt_modified timestamp NULL, - lock_name varchar(255) NULL, - max_lock_time int8 NULL, - ownerip varchar(255) NULL, - CONSTRAINT pj_oms_lock_pkey PRIMARY KEY (id), - CONSTRAINT uidx01_oms_lock UNIQUE (lock_name) +-- 分布式调度DDL +CREATE TABLE er_job +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + job_name VARCHAR(64) NOT NULL, + args_str TEXT NOT NULL DEFAULT '', + args_type SMALLINT NOT NULL DEFAULT 1, + next_trigger_at BIGINT NOT NULL, + job_status SMALLINT NOT NULL DEFAULT 1, + task_type SMALLINT NOT NULL DEFAULT 1, + route_key SMALLINT NOT NULL DEFAULT 4, + executor_type SMALLINT NOT NULL DEFAULT 1, + executor_info VARCHAR(255) DEFAULT NULL, + trigger_type SMALLINT NOT NULL, + trigger_interval VARCHAR(255) NOT NULL, + block_strategy SMALLINT NOT NULL DEFAULT 1, + executor_timeout INT NOT NULL DEFAULT 0, + max_retry_times INT NOT NULL DEFAULT 0, + parallel_num INT NOT NULL DEFAULT 1, + retry_interval INT NOT NULL DEFAULT 0, + bucket_index INT NOT NULL DEFAULT 0, + resident SMALLINT NOT NULL DEFAULT 0, + description VARCHAR(256) NOT NULL DEFAULT '', + ext_attrs VARCHAR(256) DEFAULT NULL, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + deleted SMALLINT NOT NULL DEFAULT 0 +); + +CREATE INDEX idx_namespace_id_group_name_job ON er_job (namespace_id, group_name); +CREATE INDEX idx_job_status_bucket_index_job ON er_job (job_status, bucket_index); +CREATE INDEX idx_create_dt_job ON er_job (create_dt); + +COMMENT ON COLUMN er_job.id IS '主键'; +COMMENT ON COLUMN er_job.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_job.group_name IS '组名称'; +COMMENT ON COLUMN er_job.job_name IS '名称'; +COMMENT ON COLUMN er_job.args_str IS '执行方法参数'; +COMMENT ON COLUMN er_job.args_type IS '参数类型'; +COMMENT ON COLUMN er_job.next_trigger_at IS '下次触发时间'; +COMMENT ON COLUMN er_job.job_status IS '重试状态 0、关闭、1、开启'; +COMMENT ON COLUMN er_job.task_type IS '任务类型 1、集群 2、广播 3、切片'; +COMMENT ON COLUMN er_job.route_key IS '路由策略'; +COMMENT ON COLUMN er_job.executor_type IS '执行器类型'; +COMMENT ON COLUMN er_job.executor_info IS '执行器名称'; +COMMENT ON COLUMN er_job.trigger_type IS '触发类型 1.CRON 表达式 2. 固定时间'; +COMMENT ON COLUMN er_job.trigger_interval IS '间隔时长'; +COMMENT ON COLUMN er_job.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行'; +COMMENT ON COLUMN er_job.executor_timeout IS '任务执行超时时间,单位秒'; +COMMENT ON COLUMN er_job.max_retry_times IS '最大重试次数'; +COMMENT ON COLUMN er_job.parallel_num IS '并行数'; +COMMENT ON COLUMN er_job.retry_interval IS '更新重试间隔(s)'; +COMMENT ON COLUMN er_job.bucket_index IS 'bucket'; +COMMENT ON COLUMN er_job.resident IS '是否是常驻任务'; +COMMENT ON COLUMN er_job.description IS '描述'; +COMMENT ON COLUMN er_job.ext_attrs IS '扩展字段'; +COMMENT ON COLUMN er_job.create_dt IS '创建时间'; +COMMENT ON COLUMN er_job.deleted IS '逻辑删除 1、删除'; +COMMENT ON COLUMN er_job.update_dt IS '更新时间'; +COMMENT ON TABLE er_job IS '任务信息'; + +INSERT INTO er_job VALUES (1, 'dev', 'ruoyi_group', 'demo-job', null, 1, 1710344035622, 1, 1, 4, 1, 'testJobExecutor', 2, '60', 1, 60, 3, 1, 1, 116, 0, '', '', now(), now(), 0); + + +CREATE TABLE er_job_log_message +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + job_id BIGINT NOT NULL, + task_batch_id BIGINT NOT NULL, + task_id BIGINT NOT NULL, + message TEXT NOT NULL, + log_num INT NOT NULL DEFAULT 1, + real_time BIGINT NOT NULL DEFAULT 0, + ext_attrs VARCHAR(256) DEFAULT '', + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE INDEX idx_namespace_id_group_name_to_job_log_message ON er_job_log_message (namespace_id, group_name); +CREATE INDEX idx_task_batch_id_task_id_to_job_log_message ON er_job_log_message (task_batch_id, task_id); +CREATE INDEX idx_create_dt_to_job_log_message ON er_job_log_message (create_dt); + +COMMENT ON COLUMN er_job_log_message.id IS '主键'; +COMMENT ON COLUMN er_job_log_message.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_job_log_message.group_name IS '组名称'; +COMMENT ON COLUMN er_job_log_message.job_id IS '任务信息id'; +COMMENT ON COLUMN er_job_log_message.task_batch_id IS '任务批次id'; +COMMENT ON COLUMN er_job_log_message.task_id IS '调度任务id'; +COMMENT ON COLUMN er_job_log_message.message IS '调度信息'; +COMMENT ON COLUMN er_job_log_message.log_num IS '日志序号'; +COMMENT ON COLUMN er_job_log_message.real_time IS '实际时间'; +COMMENT ON COLUMN er_job_log_message.create_dt IS '创建时间'; +COMMENT ON COLUMN er_job_log_message.ext_attrs IS '扩展字段'; +COMMENT ON TABLE er_job_log_message IS '调度日志'; + +CREATE TABLE er_job_task +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + job_id BIGINT NOT NULL, + task_batch_id BIGINT NOT NULL, + parent_id BIGINT NOT NULL DEFAULT 0, + task_status SMALLINT NOT NULL DEFAULT 0, + retry_count INT NOT NULL DEFAULT 0, + client_info VARCHAR(128) DEFAULT NULL, + result_message TEXT NOT NULL, + args_str TEXT NOT NULL, + args_type SMALLINT NOT NULL DEFAULT 1, + ext_attrs VARCHAR(256) DEFAULT '', + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); --- pj_server_info definition +CREATE INDEX idx_namespace_id_group_name_to_job_task ON er_job_task (namespace_id, group_name); +CREATE INDEX idx_task_batch_id_task_status_to_job_task ON er_job_task (task_batch_id, task_status); +CREATE INDEX idx_create_dt_to_job_task ON er_job_task (create_dt); +COMMENT ON COLUMN er_job_task.id IS '主键'; +COMMENT ON COLUMN er_job_task.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_job_task.group_name IS '组名称'; +COMMENT ON COLUMN er_job_task.job_id IS '任务信息id'; +COMMENT ON COLUMN er_job_task.task_batch_id IS '任务批次id'; +COMMENT ON COLUMN er_job_task.parent_id IS '父执行器id'; +COMMENT ON COLUMN er_job_task.task_status IS '执行的状态 0、失败 1、成功'; +COMMENT ON COLUMN er_job_task.retry_count IS '重试次数'; +COMMENT ON COLUMN er_job_task.client_info IS '客户端地址 clientId#ip:port'; +COMMENT ON COLUMN er_job_task.result_message IS '调度信息'; +COMMENT ON COLUMN er_job_task.args_str IS '执行方法参数'; +COMMENT ON COLUMN er_job_task.args_type IS '参数类型'; +COMMENT ON COLUMN er_job_task.create_dt IS '创建时间'; +COMMENT ON COLUMN er_job_task.update_dt IS '创建时间'; +COMMENT ON COLUMN er_job_task.ext_attrs IS '扩展字段'; +COMMENT ON TABLE er_job_task IS '任务实例'; --- Drop table - --- DROP TABLE pj_server_info; - -CREATE TABLE pj_server_info ( - id int8 NOT NULL, - gmt_create timestamp NULL, - gmt_modified timestamp NULL, - ip varchar(255) NULL, - CONSTRAINT pj_server_info_pkey PRIMARY KEY (id), - CONSTRAINT uidx01_server_info UNIQUE (ip) +CREATE TABLE er_job_task_batch +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + job_id BIGINT NOT NULL, + workflow_node_id BIGINT NOT NULL DEFAULT 0, + parent_workflow_node_id BIGINT NOT NULL DEFAULT 0, + workflow_task_batch_id BIGINT NOT NULL DEFAULT 0, + parent_id VARCHAR(64) NOT NULL DEFAULT '', + task_batch_status SMALLINT NOT NULL DEFAULT 0, + operation_reason SMALLINT NOT NULL DEFAULT 0, + execution_at BIGINT NOT NULL DEFAULT 0, + system_task_type SMALLINT NOT NULL DEFAULT 3, + ext_attrs VARCHAR(256) DEFAULT '', + deleted SMALLINT NOT NULL DEFAULT 0, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); -CREATE INDEX idx01_server_info ON pj_server_info USING btree (gmt_modified); +CREATE INDEX idx_namespace_id_group_name_to_job_task_batch ON er_job_task_batch (namespace_id, group_name); +CREATE INDEX idx_job_id_task_batch_status_to_job_task_batch ON er_job_task_batch (job_id, task_batch_status); +CREATE INDEX idx_create_dt_to_job_task_batch ON er_job_task_batch (create_dt); +CREATE INDEX idx_workflow_task_batch_id_workflow_node_id ON er_job_task_batch (workflow_task_batch_id, workflow_node_id); --- pj_user_info definition +COMMENT ON COLUMN er_job_task_batch.id IS '主键'; +COMMENT ON COLUMN er_job_task_batch.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_job_task_batch.group_name IS '组名称'; +COMMENT ON COLUMN er_job_task_batch.job_id IS '任务信息id'; +COMMENT ON COLUMN er_job_task_batch.task_batch_status IS '任务批次状态 0、失败 1、成功'; +COMMENT ON COLUMN er_job_task_batch.operation_reason IS '操作原因'; +COMMENT ON COLUMN er_job_task_batch.workflow_node_id IS '工作流节点id'; +COMMENT ON COLUMN er_job_task_batch.parent_workflow_node_id IS '父节点'; +COMMENT ON COLUMN er_job_task_batch.workflow_task_batch_id IS '任务批次id'; +COMMENT ON COLUMN er_job_task_batch.system_task_type IS '任务类型 0、系统任务 1、业务任务'; +COMMENT ON COLUMN er_job_task_batch.execution_at IS '任务执行时间'; +COMMENT ON COLUMN er_job_task_batch.parent_id IS '父节点'; +COMMENT ON COLUMN er_job_task_batch.deleted IS '逻辑删除 1、删除'; +COMMENT ON COLUMN er_job_task_batch.create_dt IS '创建时间'; +COMMENT ON COLUMN er_job_task_batch.update_dt IS '创建时间'; +COMMENT ON COLUMN er_job_task_batch.ext_attrs IS '扩展字段'; +COMMENT ON TABLE er_job_task_batch IS '任务批次'; --- Drop table - --- DROP TABLE pj_user_info; - -CREATE TABLE pj_user_info ( - id int8 NOT NULL, - email varchar(255) NULL, - extra varchar(255) NULL, - gmt_create timestamp NULL, - gmt_modified timestamp NULL, - "password" varchar(255) NULL, - phone varchar(255) NULL, - username varchar(255) NULL, - web_hook varchar(255) NULL, - CONSTRAINT pj_user_info_pkey PRIMARY KEY (id) +CREATE TABLE er_job_notify_config +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + job_id BIGINT NOT NULL, + notify_status SMALLINT NOT NULL DEFAULT 0, + notify_type SMALLINT NOT NULL DEFAULT 0, + notify_attribute VARCHAR(512) NOT NULL, + notify_threshold INT NOT NULL DEFAULT 0, + notify_scene SMALLINT NOT NULL DEFAULT 0, + rate_limiter_status SMALLINT NOT NULL DEFAULT 0, + rate_limiter_threshold INT NOT NULL DEFAULT 0, + description VARCHAR(256) NOT NULL DEFAULT '', + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); -CREATE INDEX uidx01_user_info ON pj_user_info USING btree (username); -CREATE INDEX uidx02_user_info ON pj_user_info USING btree (email); +CREATE INDEX idx_namespace_id_group_name_job_id_job_notify_config ON er_job_notify_config (namespace_id, group_name, job_id); --- pj_workflow_info definition +COMMENT ON COLUMN er_job_notify_config.id IS '主键'; +COMMENT ON COLUMN er_job_notify_config.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_job_notify_config.group_name IS '组名称'; +COMMENT ON COLUMN er_job_notify_config.job_id IS '任务信息id'; +COMMENT ON COLUMN er_job_notify_config.notify_status IS '通知状态 0、未启用 1、启用'; +COMMENT ON COLUMN er_job_notify_config.notify_type IS '通知类型 1、钉钉 2、邮件 3、企业微信'; +COMMENT ON COLUMN er_job_notify_config.notify_attribute IS '配置属性'; +COMMENT ON COLUMN er_job_notify_config.notify_threshold IS '通知阈值'; +COMMENT ON COLUMN er_job_notify_config.notify_scene IS '通知场景'; +COMMENT ON COLUMN er_job_notify_config.rate_limiter_status IS '限流状态 0、未启用 1、启用'; +COMMENT ON COLUMN er_job_notify_config.rate_limiter_threshold IS '每秒限流阈值'; +COMMENT ON COLUMN er_job_notify_config.description IS '描述'; +COMMENT ON COLUMN er_job_notify_config.create_dt IS '创建时间'; +COMMENT ON COLUMN er_job_notify_config.update_dt IS '修改时间'; +COMMENT ON TABLE er_job_notify_config IS '通知配置'; --- Drop table - --- DROP TABLE pj_workflow_info; - -CREATE TABLE pj_workflow_info ( - id int8 NOT NULL, - app_id int8 NULL, - extra varchar(255) NULL, - gmt_create timestamp NULL, - gmt_modified timestamp NULL, - lifecycle varchar(255) NULL, - max_wf_instance_num int4 NULL, - next_trigger_time int8 NULL, - notify_user_ids varchar(255) NULL, - pedag oid NULL, - status int4 NULL, - time_expression varchar(255) NULL, - time_expression_type int4 NULL, - wf_description varchar(255) NULL, - wf_name varchar(255) NULL, - CONSTRAINT pj_workflow_info_pkey PRIMARY KEY (id) +CREATE TABLE er_retry_summary +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL DEFAULT '', + scene_name VARCHAR(50) NOT NULL DEFAULT '', + trigger_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + running_num INT NOT NULL DEFAULT 0, + finish_num INT NOT NULL DEFAULT 0, + max_count_num INT NOT NULL DEFAULT 0, + suspend_num INT NOT NULL DEFAULT 0, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); -CREATE INDEX idx01_workflow_info ON pj_workflow_info USING btree (app_id, status, time_expression_type, next_trigger_time); +CREATE UNIQUE INDEX uk_scene_name_trigger_at ON er_retry_summary (namespace_id, group_name, scene_name, trigger_at); --- pj_workflow_instance_info definition +COMMENT ON COLUMN er_retry_summary.id IS '主键'; +COMMENT ON COLUMN er_retry_summary.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_retry_summary.group_name IS '组名称'; +COMMENT ON COLUMN er_retry_summary.scene_name IS '场景名称'; +COMMENT ON COLUMN er_retry_summary.trigger_at IS '统计时间'; +COMMENT ON COLUMN er_retry_summary.running_num IS '重试中-日志数量'; +COMMENT ON COLUMN er_retry_summary.finish_num IS '重试完成-日志数量'; +COMMENT ON COLUMN er_retry_summary.max_count_num IS '重试到达最大次数-日志数量'; +COMMENT ON COLUMN er_retry_summary.suspend_num IS '暂停重试-日志数量'; +COMMENT ON COLUMN er_retry_summary.create_dt IS '创建时间'; +COMMENT ON COLUMN er_retry_summary.update_dt IS '修改时间'; +COMMENT ON TABLE er_retry_summary IS 'DashBoard_Retry'; --- Drop table - --- DROP TABLE pj_workflow_instance_info; - -CREATE TABLE pj_workflow_instance_info ( - id int8 NOT NULL, - actual_trigger_time int8 NULL, - app_id int8 NULL, - dag oid NULL, - expected_trigger_time int8 NULL, - finished_time int8 NULL, - gmt_create timestamp NULL, - gmt_modified timestamp NULL, - parent_wf_instance_id int8 NULL, - "result" oid NULL, - status int4 NULL, - wf_context oid NULL, - wf_init_params oid NULL, - wf_instance_id int8 NULL, - workflow_id int8 NULL, - CONSTRAINT pj_workflow_instance_info_pkey PRIMARY KEY (id), - CONSTRAINT uidx01_wf_instance UNIQUE (wf_instance_id) +CREATE TABLE er_job_summary +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL DEFAULT '', + business_id BIGINT NOT NULL, + system_task_type SMALLINT NOT NULL DEFAULT '3', + trigger_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + success_num INT NOT NULL DEFAULT 0, + fail_num INT NOT NULL DEFAULT 0, + fail_reason VARCHAR(512) NOT NULL DEFAULT '', + stop_num INT NOT NULL DEFAULT 0, + stop_reason VARCHAR(512) NOT NULL DEFAULT '', + cancel_num INT NOT NULL DEFAULT 0, + cancel_reason VARCHAR(512) NOT NULL DEFAULT '', + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); -CREATE INDEX idx01_wf_instance ON pj_workflow_instance_info USING btree (workflow_id, status, app_id, expected_trigger_time); +CREATE UNIQUE INDEX uk_trigger_at_system_task_type_business_id ON er_job_summary (trigger_at, system_task_type, business_id); +CREATE INDEX idx_namespace_id_group_name_job_id ON er_job_summary (namespace_id, group_name, business_id); --- pj_workflow_node_info definition +COMMENT ON COLUMN er_job_summary.id IS '主键'; +COMMENT ON COLUMN er_job_summary.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_job_summary.group_name IS '组名称'; +COMMENT ON COLUMN er_job_summary.business_id IS '业务id (job_id或workflow_id)'; +COMMENT ON COLUMN er_job_summary.system_task_type IS '任务类型 3、JOB任务 4、WORKFLOW任务'; +COMMENT ON COLUMN er_job_summary.trigger_at IS '统计时间'; +COMMENT ON COLUMN er_job_summary.success_num IS '执行成功-日志数量'; +COMMENT ON COLUMN er_job_summary.fail_num IS '执行失败-日志数量'; +COMMENT ON COLUMN er_job_summary.fail_reason IS '失败原因'; +COMMENT ON COLUMN er_job_summary.stop_num IS '执行失败-日志数量'; +COMMENT ON COLUMN er_job_summary.stop_reason IS '失败原因'; +COMMENT ON COLUMN er_job_summary.cancel_num IS '执行失败-日志数量'; +COMMENT ON COLUMN er_job_summary.cancel_reason IS '失败原因'; +COMMENT ON TABLE er_job_summary IS 'DashBoard_Job'; --- Drop table - --- DROP TABLE pj_workflow_node_info; - -CREATE TABLE pj_workflow_node_info ( - id int8 NOT NULL, - app_id int8 NOT NULL, - "enable" bool NOT NULL, - extra oid NULL, - gmt_create timestamp NOT NULL, - gmt_modified timestamp NOT NULL, - job_id int8 NULL, - node_name varchar(255) NULL, - node_params oid NULL, - skip_when_failed bool NOT NULL, - "type" int4 NULL, - workflow_id int8 NULL, - CONSTRAINT pj_workflow_node_info_pkey PRIMARY KEY (id) +CREATE TABLE er_workflow +( + id BIGSERIAL PRIMARY KEY, + workflow_name varchar(64) NOT NULL, + namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name varchar(64) NOT NULL, + workflow_status smallint NOT NULL DEFAULT 1, + trigger_type smallint NOT NULL, + trigger_interval varchar(255) NOT NULL, + next_trigger_at BIGINT NOT NULL, + block_strategy smallint NOT NULL DEFAULT 1, + executor_timeout INT NOT NULL DEFAULT 0, + description varchar(256) NOT NULL DEFAULT '', + flow_info text DEFAULT NULL, + bucket_index INT NOT NULL DEFAULT 0, + version INT NOT NULL, + create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + deleted smallint NOT NULL DEFAULT 0, + ext_attrs varchar(256) NULL DEFAULT '' ); -CREATE INDEX idx01_workflow_node_info ON pj_workflow_node_info USING btree (workflow_id, gmt_create); + + +CREATE INDEX idx_create_dt_workflow ON er_workflow (create_dt); +CREATE INDEX idx_namespace_id_group_name_workflow ON er_workflow (namespace_id, group_name); + +COMMENT ON TABLE er_workflow IS '工作流'; +COMMENT ON COLUMN er_workflow.id IS '主键'; +COMMENT ON COLUMN er_workflow.workflow_name IS '工作流名称'; +COMMENT ON COLUMN er_workflow.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_workflow.group_name IS '组名称'; +COMMENT ON COLUMN er_workflow.workflow_status IS '工作流状态 0、关闭、1、开启'; +COMMENT ON COLUMN er_workflow.trigger_type IS '触发类型 1.CRON 表达式 2. 固定时间'; +COMMENT ON COLUMN er_workflow.trigger_interval IS '间隔时长'; +COMMENT ON COLUMN er_workflow.next_trigger_at IS '下次触发时间'; +COMMENT ON COLUMN er_workflow.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行'; +COMMENT ON COLUMN er_workflow.executor_timeout IS '任务执行超时时间,单位秒'; +COMMENT ON COLUMN er_workflow.description IS '描述'; +COMMENT ON COLUMN er_workflow.flow_info IS '流程信息'; +COMMENT ON COLUMN er_workflow.bucket_index IS 'bucket'; +COMMENT ON COLUMN er_workflow.version IS '版本号'; +COMMENT ON COLUMN er_workflow.create_dt IS '创建时间'; +COMMENT ON COLUMN er_workflow.update_dt IS '修改时间'; +COMMENT ON COLUMN er_workflow.deleted IS '逻辑删除 1、删除'; +COMMENT ON COLUMN er_workflow.ext_attrs IS '扩展字段'; + +CREATE TABLE er_workflow_node +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + node_name VARCHAR(64) NOT NULL, + group_name VARCHAR(64) NOT NULL, + job_id BIGINT NOT NULL, + workflow_id BIGINT NOT NULL, + node_type SMALLINT NOT NULL DEFAULT 1, + expression_type SMALLINT NOT NULL DEFAULT 0, + fail_strategy SMALLINT NOT NULL DEFAULT 1, + workflow_node_status SMALLINT NOT NULL DEFAULT 1, + priority_level INT NOT NULL DEFAULT 1, + node_info TEXT DEFAULT NULL, + version INT NOT NULL, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + deleted SMALLINT NOT NULL DEFAULT 0, + ext_attrs VARCHAR(256) NULL DEFAULT '' +); + +CREATE INDEX idx_create_dt_workflow_node ON er_workflow_node (create_dt); +CREATE INDEX idx_namespace_id_group_name_workflow_node ON er_workflow_node (namespace_id, group_name); + +COMMENT ON TABLE er_workflow_node IS '工作流节点'; +COMMENT ON COLUMN er_workflow_node.id IS '主键'; +COMMENT ON COLUMN er_workflow_node.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_workflow_node.node_name IS '节点名称'; +COMMENT ON COLUMN er_workflow_node.group_name IS '组名称'; +COMMENT ON COLUMN er_workflow_node.job_id IS '任务信息id'; +COMMENT ON COLUMN er_workflow_node.workflow_id IS '工作流ID'; +COMMENT ON COLUMN er_workflow_node.node_type IS '1、任务节点 2、条件节点'; +COMMENT ON COLUMN er_workflow_node.expression_type IS '1、SpEl、2、Aviator 3、QL'; +COMMENT ON COLUMN er_workflow_node.fail_strategy IS '失败策略 1、跳过 2、阻塞'; +COMMENT ON COLUMN er_workflow_node.workflow_node_status IS '工作流节点状态 0、关闭、1、开启'; +COMMENT ON COLUMN er_workflow_node.priority_level IS '优先级'; +COMMENT ON COLUMN er_workflow_node.node_info IS '节点信息'; +COMMENT ON COLUMN er_workflow_node.version IS '版本号'; +COMMENT ON COLUMN er_workflow_node.create_dt IS '创建时间'; +COMMENT ON COLUMN er_workflow_node.update_dt IS '修改时间'; +COMMENT ON COLUMN er_workflow_node.deleted IS '逻辑删除 1、删除'; +COMMENT ON COLUMN er_workflow_node.ext_attrs IS '扩展字段'; + +CREATE TABLE er_workflow_task_batch +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + workflow_id BIGINT NOT NULL, + task_batch_status SMALLINT NOT NULL DEFAULT 0, + operation_reason SMALLINT NOT NULL DEFAULT 0, + flow_info TEXT DEFAULT NULL, + execution_at BIGINT NOT NULL DEFAULT 0, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + deleted SMALLINT NOT NULL DEFAULT 0, + ext_attrs VARCHAR(256) NULL DEFAULT '' +); + +CREATE INDEX idx_job_id_task_batch_status_workflow_task_batch ON er_workflow_task_batch (workflow_id, task_batch_status); +CREATE INDEX idx_create_dt_workflow_task_batch ON er_workflow_task_batch (create_dt); +CREATE INDEX idx_namespace_id_group_name_workflow_task_batch ON er_workflow_task_batch (namespace_id, group_name); + +COMMENT ON TABLE er_workflow_task_batch IS '工作流批次'; +COMMENT ON COLUMN er_workflow_task_batch.id IS '主键'; +COMMENT ON COLUMN er_workflow_task_batch.namespace_id IS '命名空间id'; +COMMENT ON COLUMN er_workflow_task_batch.group_name IS '组名称'; +COMMENT ON COLUMN er_workflow_task_batch.workflow_id IS '工作流任务id'; +COMMENT ON COLUMN er_workflow_task_batch.task_batch_status IS '任务批次状态 0、失败 1、成功'; +COMMENT ON COLUMN er_workflow_task_batch.operation_reason IS '操作原因'; +COMMENT ON COLUMN er_workflow_task_batch.flow_info IS '流程信息'; +COMMENT ON COLUMN er_workflow_task_batch.execution_at IS '任务执行时间'; +COMMENT ON COLUMN er_workflow_task_batch.create_dt IS '创建时间'; +COMMENT ON COLUMN er_workflow_task_batch.update_dt IS '修改时间'; +COMMENT ON COLUMN er_workflow_task_batch.deleted IS '逻辑删除 1、删除'; +COMMENT ON COLUMN er_workflow_task_batch.ext_attrs IS '扩展字段'; diff --git a/sql/ry-job.sql b/sql/ry-job.sql index 9381b881c..1bb222bc8 100644 --- a/sql/ry-job.sql +++ b/sql/ry-job.sql @@ -1,233 +1,528 @@ --- ---------------------------- --- Table structure for pj_app_info --- ---------------------------- -DROP TABLE IF EXISTS `pj_app_info`; -CREATE TABLE `pj_app_info` ( - `id` bigint(0) NOT NULL AUTO_INCREMENT, - `app_name` varchar(255) NULL DEFAULT NULL, - `current_server` varchar(255) NULL DEFAULT NULL, - `gmt_create` datetime(6) NULL DEFAULT NULL, - `gmt_modified` datetime(6) NULL DEFAULT NULL, - `password` varchar(255) NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `uidx01_app_info`(`app_name`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2 ROW_FORMAT = Dynamic; +SET NAMES utf8mb4; --- ---------------------------- --- Records of pj_app_info --- ---------------------------- -INSERT INTO `pj_app_info` VALUES (1, 'ruoyi-worker', '127.0.0.1:10010', '2023-06-13 16:32:59.263000', '2023-07-04 17:25:49.798000', '123456'); +CREATE TABLE `er_namespace` +( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `name` varchar(64) NOT NULL COMMENT '名称', + `unique_id` varchar(64) NOT NULL COMMENT '唯一id', + `description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '逻辑删除 1、删除', + PRIMARY KEY (`id`), + KEY `idx_name` (`name`), + UNIQUE KEY `uk_unique_id` (`unique_id`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 COMMENT ='命名空间'; --- ---------------------------- --- Table structure for pj_container_info --- ---------------------------- -DROP TABLE IF EXISTS `pj_container_info`; -CREATE TABLE `pj_container_info` ( - `id` bigint(0) NOT NULL AUTO_INCREMENT, - `app_id` bigint(0) NULL DEFAULT NULL, - `container_name` varchar(255) NULL DEFAULT NULL, - `gmt_create` datetime(6) NULL DEFAULT NULL, - `gmt_modified` datetime(6) NULL DEFAULT NULL, - `last_deploy_time` datetime(6) NULL DEFAULT NULL, - `source_info` varchar(255) NULL DEFAULT NULL, - `source_type` int(0) NULL DEFAULT NULL, - `status` int(0) NULL DEFAULT NULL, - `version` varchar(255) NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE, - INDEX `idx01_container_info`(`app_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = Dynamic; +INSERT INTO `er_namespace` VALUES (1, 'Development', 'dev', '', now(), now(), 0); +INSERT INTO `er_namespace` VALUES (2, 'Production', 'prod', '', now(), now(), 0); --- ---------------------------- --- Table structure for pj_instance_info --- ---------------------------- -DROP TABLE IF EXISTS `pj_instance_info`; -CREATE TABLE `pj_instance_info` ( - `id` bigint(0) NOT NULL AUTO_INCREMENT, - `actual_trigger_time` bigint(0) NULL DEFAULT NULL, - `app_id` bigint(0) NULL DEFAULT NULL, - `expected_trigger_time` bigint(0) NULL DEFAULT NULL, - `finished_time` bigint(0) NULL DEFAULT NULL, - `gmt_create` datetime(6) NULL DEFAULT NULL, - `gmt_modified` datetime(6) NULL DEFAULT NULL, - `instance_id` bigint(0) NULL DEFAULT NULL, - `instance_params` longtext NULL, - `job_id` bigint(0) NULL DEFAULT NULL, - `job_params` longtext NULL, - `last_report_time` bigint(0) NULL DEFAULT NULL, - `result` longtext NULL, - `running_times` bigint(0) NULL DEFAULT NULL, - `status` int(0) NULL DEFAULT NULL, - `task_tracker_address` varchar(255) NULL DEFAULT NULL, - `type` int(0) NULL DEFAULT NULL, - `wf_instance_id` bigint(0) NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE, - INDEX `idx01_instance_info`(`job_id`, `status`) USING BTREE, - INDEX `idx02_instance_info`(`app_id`, `status`) USING BTREE, - INDEX `idx03_instance_info`(`instance_id`, `status`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 4 ROW_FORMAT = Dynamic; --- ---------------------------- --- Table structure for pj_job_info --- ---------------------------- -DROP TABLE IF EXISTS `pj_job_info`; -CREATE TABLE `pj_job_info` ( - `id` bigint(0) NOT NULL AUTO_INCREMENT, - `alarm_config` varchar(255) NULL DEFAULT NULL, - `app_id` bigint(0) NULL DEFAULT NULL, - `concurrency` int(0) NULL DEFAULT NULL, - `designated_workers` varchar(255) NULL DEFAULT NULL, - `dispatch_strategy` int(0) NULL DEFAULT NULL, - `execute_type` int(0) NULL DEFAULT NULL, - `extra` varchar(255) NULL DEFAULT NULL, - `gmt_create` datetime(6) NULL DEFAULT NULL, - `gmt_modified` datetime(6) NULL DEFAULT NULL, - `instance_retry_num` int(0) NULL DEFAULT NULL, - `instance_time_limit` bigint(0) NULL DEFAULT NULL, - `job_description` varchar(255) NULL DEFAULT NULL, - `job_name` varchar(255) NULL DEFAULT NULL, - `job_params` longtext NULL, - `lifecycle` varchar(255) NULL DEFAULT NULL, - `log_config` varchar(255) NULL DEFAULT NULL, - `max_instance_num` int(0) NULL DEFAULT NULL, - `max_worker_count` int(0) NULL DEFAULT NULL, - `min_cpu_cores` double NOT NULL, - `min_disk_space` double NOT NULL, - `min_memory_space` double NOT NULL, - `next_trigger_time` bigint(0) NULL DEFAULT NULL, - `notify_user_ids` varchar(255) NULL DEFAULT NULL, - `processor_info` varchar(255) NULL DEFAULT NULL, - `processor_type` int(0) NULL DEFAULT NULL, - `status` int(0) NULL DEFAULT NULL, - `tag` varchar(255) NULL DEFAULT NULL, - `task_retry_num` int(0) NULL DEFAULT NULL, - `time_expression` varchar(255) NULL DEFAULT NULL, - `time_expression_type` int(0) NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE, - INDEX `idx01_job_info`(`app_id`, `status`, `time_expression_type`, `next_trigger_time`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 5 ROW_FORMAT = Dynamic; +CREATE TABLE `er_group_config` +( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` varchar(64) NOT NULL DEFAULT '' COMMENT '组名称', + `description` varchar(256) NOT NULL DEFAULT '' COMMENT '组描述', + `token` varchar(64) NOT NULL DEFAULT 'ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT' COMMENT 'token', + `group_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '组状态 0、未启用 1、启用', + `version` int(11) NOT NULL COMMENT '版本号', + `group_partition` int(11) NOT NULL COMMENT '分区', + `id_generator_mode` tinyint(4) NOT NULL DEFAULT '1' COMMENT '唯一id生成模式 默认号段模式', + `init_scene` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否初始化场景 0:否 1:是', + `bucket_index` int(11) NOT NULL DEFAULT '0' COMMENT 'bucket', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_namespace_id_group_name` (`namespace_id`, `group_name`) +) ENGINE = InnoDB + AUTO_INCREMENT = 0 + DEFAULT CHARSET = utf8mb4 COMMENT ='组配置' +; --- ---------------------------- --- Records of pj_job_info --- ---------------------------- -INSERT INTO `pj_job_info` VALUES (1, '{\"alertThreshold\":0,\"silenceWindowLen\":0,\"statisticWindowLen\":0}', 1, 5, '', 2, 1, NULL, '2023-06-02 15:01:27.717000', '2023-07-04 17:22:12.374000', 1, 0, '', '单机处理器执行测试', NULL, '{}', '{\"type\":1}', 0, 0, 0, 0, 0, NULL, NULL, 'org.dromara.job.processors.StandaloneProcessorDemo', 1, 2, NULL, 1, '30000', 3); -INSERT INTO `pj_job_info` VALUES (2, '{\"alertThreshold\":0,\"silenceWindowLen\":0,\"statisticWindowLen\":0}', 1, 5, '', 1, 2, NULL, '2023-06-02 15:04:45.342000', '2023-07-04 17:22:12.816000', 0, 0, NULL, '广播处理器测试', NULL, '{}', '{\"type\":1}', 0, 0, 0, 0, 0, NULL, NULL, 'org.dromara.job.processors.BroadcastProcessorDemo', 1, 2, NULL, 1, '30000', 3); -INSERT INTO `pj_job_info` VALUES (3, '{\"alertThreshold\":0,\"silenceWindowLen\":0,\"statisticWindowLen\":0}', 1, 5, '', 1, 4, NULL, '2023-06-02 15:13:23.519000', '2023-06-02 16:03:22.421000', 0, 0, NULL, 'Map处理器测试', NULL, '{}', '{\"type\":1}', 0, 0, 0, 0, 0, NULL, NULL, 'org.dromara.job.processors.MapProcessorDemo', 1, 2, NULL, 1, '1000', 3); -INSERT INTO `pj_job_info` VALUES (4, '{\"alertThreshold\":0,\"silenceWindowLen\":0,\"statisticWindowLen\":0}', 1, 5, '', 1, 3, NULL, '2023-06-02 15:45:25.896000', '2023-06-02 16:03:23.125000', 0, 0, NULL, 'MapReduce处理器测试', NULL, '{}', '{\"type\":1}', 0, 0, 0, 0, 0, NULL, NULL, 'org.dromara.job.processors.MapReduceProcessorDemo', 1, 2, NULL, 1, '1000', 3); +INSERT INTO `er_group_config` VALUES (1, 'dev', 'ruoyi_group', '', 'ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, 4, now(), now()); --- ---------------------------- --- Table structure for pj_oms_lock --- ---------------------------- -DROP TABLE IF EXISTS `pj_oms_lock`; -CREATE TABLE `pj_oms_lock` ( - `id` bigint(0) NOT NULL AUTO_INCREMENT, - `gmt_create` datetime(6) NULL DEFAULT NULL, - `gmt_modified` datetime(6) NULL DEFAULT NULL, - `lock_name` varchar(255) NULL DEFAULT NULL, - `max_lock_time` bigint(0) NULL DEFAULT NULL, - `ownerip` varchar(255) NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `uidx01_oms_lock`(`lock_name`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 6 ROW_FORMAT = Dynamic; --- ---------------------------- --- Table structure for pj_server_info --- ---------------------------- -DROP TABLE IF EXISTS `pj_server_info`; -CREATE TABLE `pj_server_info` ( - `id` bigint(0) NOT NULL AUTO_INCREMENT, - `gmt_create` datetime(6) NULL DEFAULT NULL, - `gmt_modified` datetime(6) NULL DEFAULT NULL, - `ip` varchar(255) NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `uidx01_server_info`(`ip`) USING BTREE, - INDEX `idx01_server_info`(`gmt_modified`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2 ROW_FORMAT = Dynamic; +CREATE TABLE `er_notify_config` +( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `scene_name` varchar(64) NOT NULL COMMENT '场景名称', + `notify_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '通知状态 0、未启用 1、启用', + `notify_type` tinyint(4) NOT NULL DEFAULT '0' COMMENT '通知类型 1、钉钉 2、邮件 3、企业微信', + `notify_attribute` varchar(512) NOT NULL COMMENT '配置属性', + `notify_threshold` int(11) NOT NULL DEFAULT '0' COMMENT '通知阈值', + `notify_scene` tinyint(4) NOT NULL DEFAULT '0' COMMENT '通知场景', + `rate_limiter_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '限流状态 0、未启用 1、启用', + `rate_limiter_threshold` int(11) NOT NULL DEFAULT '0' COMMENT '每秒限流阈值', + `description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + KEY `idx_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`) +) ENGINE = InnoDB + AUTO_INCREMENT = 0 + DEFAULT CHARSET = utf8mb4 COMMENT ='通知配置' +; --- ---------------------------- --- Table structure for pj_user_info --- ---------------------------- -DROP TABLE IF EXISTS `pj_user_info`; -CREATE TABLE `pj_user_info` ( - `id` bigint(0) NOT NULL AUTO_INCREMENT, - `email` varchar(255) NULL DEFAULT NULL, - `extra` varchar(255) NULL DEFAULT NULL, - `gmt_create` datetime(6) NULL DEFAULT NULL, - `gmt_modified` datetime(6) NULL DEFAULT NULL, - `password` varchar(255) NULL DEFAULT NULL, - `phone` varchar(255) NULL DEFAULT NULL, - `username` varchar(255) NULL DEFAULT NULL, - `web_hook` varchar(255) NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE, - INDEX `uidx01_user_info`(`username`) USING BTREE, - INDEX `uidx02_user_info`(`email`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = Dynamic; +CREATE TABLE `er_retry_dead_letter_0` +( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `unique_id` varchar(64) NOT NULL COMMENT '同组下id唯一', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `scene_name` varchar(64) NOT NULL COMMENT '场景名称', + `idempotent_id` varchar(64) NOT NULL COMMENT '幂等id', + `biz_no` varchar(64) NOT NULL DEFAULT '' COMMENT '业务编号', + `executor_name` varchar(512) NOT NULL DEFAULT '' COMMENT '执行器名称', + `args_str` text NOT NULL COMMENT '执行方法参数', + `ext_attrs` text NOT NULL COMMENT '扩展字段', + `task_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '任务类型 1、重试数据 2、回调数据', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + PRIMARY KEY (`id`), + KEY `idx_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`), + KEY `idx_idempotent_id` (`idempotent_id`), + KEY `idx_biz_no` (`biz_no`), + KEY `idx_create_dt` (`create_dt`), + UNIQUE KEY `uk_namespace_id_group_name_unique_id` (`namespace_id`, `group_name`, `unique_id`) +) ENGINE = InnoDB + AUTO_INCREMENT = 0 + DEFAULT CHARSET = utf8mb4 COMMENT ='死信队列表' +; --- ---------------------------- --- Table structure for pj_workflow_info --- ---------------------------- -DROP TABLE IF EXISTS `pj_workflow_info`; -CREATE TABLE `pj_workflow_info` ( - `id` bigint(0) NOT NULL AUTO_INCREMENT, - `app_id` bigint(0) NULL DEFAULT NULL, - `extra` varchar(255) NULL DEFAULT NULL, - `gmt_create` datetime(6) NULL DEFAULT NULL, - `gmt_modified` datetime(6) NULL DEFAULT NULL, - `lifecycle` varchar(255) NULL DEFAULT NULL, - `max_wf_instance_num` int(0) NULL DEFAULT NULL, - `next_trigger_time` bigint(0) NULL DEFAULT NULL, - `notify_user_ids` varchar(255) NULL DEFAULT NULL, - `pedag` longtext NULL, - `status` int(0) NULL DEFAULT NULL, - `time_expression` varchar(255) NULL DEFAULT NULL, - `time_expression_type` int(0) NULL DEFAULT NULL, - `wf_description` varchar(255) NULL DEFAULT NULL, - `wf_name` varchar(255) NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE, - INDEX `idx01_workflow_info`(`app_id`, `status`, `time_expression_type`, `next_trigger_time`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = Dynamic; +CREATE TABLE `er_retry_task_0` +( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `unique_id` varchar(64) NOT NULL COMMENT '同组下id唯一', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `scene_name` varchar(64) NOT NULL COMMENT '场景名称', + `idempotent_id` varchar(64) NOT NULL COMMENT '幂等id', + `biz_no` varchar(64) NOT NULL DEFAULT '' COMMENT '业务编号', + `executor_name` varchar(512) NOT NULL DEFAULT '' COMMENT '执行器名称', + `args_str` text NOT NULL COMMENT '执行方法参数', + `ext_attrs` text NOT NULL COMMENT '扩展字段', + `next_trigger_at` datetime NOT NULL COMMENT '下次触发时间', + `retry_count` int(11) NOT NULL DEFAULT '0' COMMENT '重试次数', + `retry_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '重试状态 0、重试中 1、成功 2、最大重试次数', + `task_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '任务类型 1、重试数据 2、回调数据', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + KEY `idx_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`), + KEY `idx_namespace_id_group_name_task_type` (`namespace_id`, `group_name`, `task_type`), + KEY `idx_namespace_id_group_name_retry_status` (`namespace_id`, `group_name`, `retry_status`), + KEY `idx_idempotent_id` (`idempotent_id`), + KEY `idx_biz_no` (`biz_no`), + KEY `idx_create_dt` (`create_dt`), + UNIQUE KEY `uk_name_unique_id` (`namespace_id`, `group_name`, `unique_id`) +) ENGINE = InnoDB + AUTO_INCREMENT = 0 + DEFAULT CHARSET = utf8mb4 COMMENT ='任务表' +; --- ---------------------------- --- Table structure for pj_workflow_instance_info --- ---------------------------- -DROP TABLE IF EXISTS `pj_workflow_instance_info`; -CREATE TABLE `pj_workflow_instance_info` ( - `id` bigint(0) NOT NULL AUTO_INCREMENT, - `actual_trigger_time` bigint(0) NULL DEFAULT NULL, - `app_id` bigint(0) NULL DEFAULT NULL, - `dag` longtext NULL, - `expected_trigger_time` bigint(0) NULL DEFAULT NULL, - `finished_time` bigint(0) NULL DEFAULT NULL, - `gmt_create` datetime(6) NULL DEFAULT NULL, - `gmt_modified` datetime(6) NULL DEFAULT NULL, - `parent_wf_instance_id` bigint(0) NULL DEFAULT NULL, - `result` longtext NULL, - `status` int(0) NULL DEFAULT NULL, - `wf_context` longtext NULL, - `wf_init_params` longtext NULL, - `wf_instance_id` bigint(0) NULL DEFAULT NULL, - `workflow_id` bigint(0) NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `uidx01_wf_instance`(`wf_instance_id`) USING BTREE, - INDEX `idx01_wf_instance`(`workflow_id`, `status`, `app_id`, `expected_trigger_time`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = Dynamic; +CREATE TABLE `er_retry_task_log` +( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `unique_id` varchar(64) NOT NULL COMMENT '同组下id唯一', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `scene_name` varchar(64) NOT NULL COMMENT '场景名称', + `idempotent_id` varchar(64) NOT NULL COMMENT '幂等id', + `biz_no` varchar(64) NOT NULL DEFAULT '' COMMENT '业务编号', + `executor_name` varchar(512) NOT NULL DEFAULT '' COMMENT '执行器名称', + `args_str` text NOT NULL COMMENT '执行方法参数', + `ext_attrs` text NOT NULL COMMENT '扩展字段', + `retry_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '重试状态 0、重试中 1、成功 2、最大次数', + `task_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '任务类型 1、重试数据 2、回调数据', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + KEY `idx_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`), + KEY `idx_retry_status` (`retry_status`), + KEY `idx_idempotent_id` (`idempotent_id`), + KEY `idx_unique_id` (`unique_id`), + KEY `idx_biz_no` (`biz_no`), + KEY `idx_create_dt` (`create_dt`) +) ENGINE = InnoDB + AUTO_INCREMENT = 0 + DEFAULT CHARSET = utf8mb4 COMMENT ='任务日志基础信息表' +; --- ---------------------------- --- Table structure for pj_workflow_node_info --- ---------------------------- -DROP TABLE IF EXISTS `pj_workflow_node_info`; -CREATE TABLE `pj_workflow_node_info` ( - `id` bigint(0) NOT NULL AUTO_INCREMENT, - `app_id` bigint(0) NOT NULL, - `enable` bit(1) NOT NULL, - `extra` longtext NULL, - `gmt_create` datetime(6) NULL, - `gmt_modified` datetime(6) NULL, - `job_id` bigint(0) NULL DEFAULT NULL, - `node_name` varchar(255) NULL DEFAULT NULL, - `node_params` longtext NULL, - `skip_when_failed` bit(1) NOT NULL, - `type` int(0) NULL DEFAULT NULL, - `workflow_id` bigint(0) NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE, - INDEX `idx01_workflow_node_info`(`workflow_id`, `gmt_create`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = Dynamic; +CREATE TABLE `er_retry_task_log_message` +( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `unique_id` varchar(64) NOT NULL COMMENT '同组下id唯一', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `message` longtext NOT NULL COMMENT '异常信息', + `log_num` int(11) NOT NULL DEFAULT 1 COMMENT '日志数量', + `real_time` bigint(13) NOT NULL DEFAULT 0 COMMENT '上报时间', + PRIMARY KEY (`id`), + KEY `idx_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `unique_id`), + KEY `idx_create_dt` (`create_dt`) +) ENGINE = InnoDB + AUTO_INCREMENT = 0 + DEFAULT CHARSET = utf8mb4 COMMENT ='任务调度日志信息记录表' +; + +CREATE TABLE `er_scene_config` +( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `scene_name` varchar(64) NOT NULL COMMENT '场景名称', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `scene_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '组状态 0、未启用 1、启用', + `max_retry_count` int(11) NOT NULL DEFAULT '5' COMMENT '最大重试次数', + `back_off` tinyint(4) NOT NULL DEFAULT '1' COMMENT '1、默认等级 2、固定间隔时间 3、CRON 表达式', + `trigger_interval` varchar(16) NOT NULL DEFAULT '' COMMENT '间隔时长', + `deadline_request` bigint(20) unsigned NOT NULL DEFAULT '60000' COMMENT 'Deadline Request 调用链超时 单位毫秒', + `executor_timeout` int(11) unsigned NOT NULL DEFAULT '5' COMMENT '任务执行超时时间,单位秒', + `route_key` tinyint(4) NOT NULL DEFAULT '4' COMMENT '路由策略', + `description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`) +) ENGINE = InnoDB + AUTO_INCREMENT = 0 + DEFAULT CHARSET = utf8mb4 COMMENT ='场景配置' +; + +CREATE TABLE `er_server_node` +( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `host_id` varchar(64) NOT NULL COMMENT '主机id', + `host_ip` varchar(64) NOT NULL COMMENT '机器ip', + `context_path` varchar(256) NOT NULL DEFAULT '/' COMMENT '客户端上下文路径 server.servlet.context-path', + `host_port` int(16) NOT NULL COMMENT '机器端口', + `expire_at` datetime NOT NULL COMMENT '过期时间', + `node_type` tinyint(4) NOT NULL COMMENT '节点类型 1、客户端 2、是服务端', + `ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`), + KEY `idx_expire_at_node_type` (`expire_at`, `node_type`), + UNIQUE KEY `uk_host_id_host_ip` (`host_id`, `host_ip`) +) ENGINE = InnoDB + AUTO_INCREMENT = 0 + DEFAULT CHARSET = utf8mb4 COMMENT ='服务器节点' +; + +CREATE TABLE `er_distributed_lock` +( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `name` varchar(64) NOT NULL COMMENT '锁名称', + `lock_until` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '锁定时长', + `locked_at` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '锁定时间', + `locked_by` varchar(255) NOT NULL COMMENT '锁定者', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_name` (`name`) +) ENGINE = InnoDB + AUTO_INCREMENT = 0 + DEFAULT CHARSET = utf8mb4 COMMENT ='锁定表' +; + +CREATE TABLE `er_system_user` +( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `username` varchar(64) NOT NULL COMMENT '账号', + `password` varchar(128) NOT NULL COMMENT '密码', + `role` tinyint(4) NOT NULL DEFAULT '0' COMMENT '角色:1-普通用户、2-管理员', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_username` (`username`) USING BTREE +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 COMMENT ='系统用户表'; + +-- pwd: admin +INSERT INTO `er_system_user` VALUES (1, 'admin', '465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', 2, now(), now()); + +CREATE TABLE `er_system_user_permission` +( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `system_user_id` bigint(20) NOT NULL COMMENT '系统用户id', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_namespace_id_group_name_system_user_id` (`namespace_id`, `group_name`, `system_user_id`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 COMMENT ='系统用户权限表'; + +CREATE TABLE `er_sequence_alloc` +( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` varchar(64) NOT NULL DEFAULT '' COMMENT '组名称', + `max_id` bigint(20) NOT NULL DEFAULT '1' COMMENT '最大id', + `step` int(11) NOT NULL DEFAULT '100' COMMENT '步长', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_namespace_id_group_name` (`namespace_id`, `group_name`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 COMMENT ='号段模式序号ID分配表'; + +-- 分布式调度DDL +CREATE TABLE `er_job` +( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `job_name` varchar(64) NOT NULL COMMENT '名称', + `args_str` text DEFAULT NULL COMMENT '执行方法参数', + `args_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '参数类型 ', + `next_trigger_at` bigint(13) NOT NULL COMMENT '下次触发时间', + `job_status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '任务状态 0、关闭、1、开启', + `task_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '任务类型 1、集群 2、广播 3、切片', + `route_key` tinyint(4) NOT NULL DEFAULT '4' COMMENT '路由策略', + `executor_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '执行器类型', + `executor_info` varchar(255) DEFAULT NULL COMMENT '执行器名称', + `trigger_type` tinyint(4) NOT NULL COMMENT '触发类型 1.CRON 表达式 2. 固定时间', + `trigger_interval` varchar(255) NOT NULL COMMENT '间隔时长', + `block_strategy` tinyint(4) NOT NULL DEFAULT '1' COMMENT '阻塞策略 1、丢弃 2、覆盖 3、并行', + `executor_timeout` int(11) NOT NULL DEFAULT '0' COMMENT '任务执行超时时间,单位秒', + `max_retry_times` int(11) NOT NULL DEFAULT '0' COMMENT '最大重试次数', + `parallel_num` int(11) NOT NULL DEFAULT '1' COMMENT '并行数', + `retry_interval` int(11) NOT NULL DEFAULT '0' COMMENT '重试间隔(s)', + `bucket_index` int(11) NOT NULL DEFAULT '0' COMMENT 'bucket', + `resident` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否是常驻任务', + `description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述', + `ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '逻辑删除 1、删除', + PRIMARY KEY (`id`), + KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`), + KEY `idx_job_status_bucket_index` (`job_status`, `bucket_index`), + KEY `idx_create_dt` (`create_dt`) +) ENGINE = InnoDB + AUTO_INCREMENT = 0 + DEFAULT CHARSET = utf8mb4 COMMENT ='任务信息'; + +INSERT INTO `er_job` VALUES (1, 'dev', 'ruoyi_group', 'demo-job', null, 1, 1710344035622, 1, 1, 4, 1, 'testJobExecutor', 2, '60', 1, 60, 3, 1, 1, 116, 0, '', '', now(), now(), 0); + + +CREATE TABLE `er_job_log_message` +( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `job_id` bigint(20) NOT NULL COMMENT '任务信息id', + `task_batch_id` bigint(20) NOT NULL COMMENT '任务批次id', + `task_id` bigint(20) NOT NULL COMMENT '调度任务id', + `message` longtext NOT NULL COMMENT '调度信息', + `log_num` int(11) NOT NULL DEFAULT 1 COMMENT '日志数量', + `real_time` bigint(13) NOT NULL DEFAULT 0 COMMENT '上报时间', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段', + PRIMARY KEY (`id`), + KEY `idx_task_batch_id_task_id` (`task_batch_id`, `task_id`), + KEY `idx_create_dt` (`create_dt`), + KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`) +) ENGINE = InnoDB + AUTO_INCREMENT = 0 + DEFAULT CHARSET = utf8mb4 COMMENT ='调度日志'; + +CREATE TABLE `er_job_task` +( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `job_id` bigint(20) NOT NULL COMMENT '任务信息id', + `task_batch_id` bigint(20) NOT NULL COMMENT '调度任务id', + `parent_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '父执行器id', + `task_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '执行的状态 0、失败 1、成功', + `retry_count` int(11) NOT NULL DEFAULT '0' COMMENT '重试次数', + `client_info` varchar(128) DEFAULT NULL COMMENT '客户端地址 clientId#ip:port', + `result_message` text NOT NULL COMMENT '执行结果', + `args_str` text DEFAULT NULL COMMENT '执行方法参数', + `args_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '参数类型 ', + `ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + KEY `idx_task_batch_id_task_status` (`task_batch_id`, `task_status`), + KEY `idx_create_dt` (`create_dt`), + KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`) +) ENGINE = InnoDB + AUTO_INCREMENT = 0 + DEFAULT CHARSET = utf8mb4 COMMENT ='任务实例'; + +CREATE TABLE `er_job_task_batch` +( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `job_id` bigint(20) NOT NULL COMMENT '任务id', + `workflow_node_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '工作流节点id', + `parent_workflow_node_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '工作流任务父批次id', + `workflow_task_batch_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '工作流任务批次id', + `task_batch_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '任务批次状态 0、失败 1、成功', + `operation_reason` tinyint(4) NOT NULL DEFAULT '0' COMMENT '操作原因', + `execution_at` bigint(13) NOT NULL DEFAULT '0' COMMENT '任务执行时间', + `system_task_type` tinyint(4) NOT NULL DEFAULT '3' COMMENT '任务类型 3、JOB任务 4、WORKFLOW任务', + `parent_id` varchar(64) NOT NULL DEFAULT '' COMMENT '父节点', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '逻辑删除 1、删除', + `ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段', + PRIMARY KEY (`id`), + KEY `idx_job_id_task_batch_status` (`job_id`, `task_batch_status`), + KEY `idx_create_dt` (`create_dt`), + KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`), + KEY `idx_workflow_task_batch_id_workflow_node_id` (`workflow_task_batch_id`, `workflow_node_id`) +) ENGINE = InnoDB + AUTO_INCREMENT = 0 + DEFAULT CHARSET = utf8mb4 COMMENT ='任务批次'; + +CREATE TABLE `er_job_notify_config` +( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `job_id` bigint(20) NOT NULL COMMENT '任务id', + `notify_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '通知状态 0、未启用 1、启用', + `notify_type` tinyint(4) NOT NULL DEFAULT '0' COMMENT '通知类型 1、钉钉 2、邮件 3、企业微信', + `notify_attribute` varchar(512) NOT NULL COMMENT '配置属性', + `notify_threshold` int(11) NOT NULL DEFAULT '0' COMMENT '通知阈值', + `notify_scene` tinyint(4) NOT NULL DEFAULT '0' COMMENT '通知场景', + `rate_limiter_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '限流状态 0、未启用 1、启用', + `rate_limiter_threshold` int(11) NOT NULL DEFAULT '0' COMMENT '每秒限流阈值', + `description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + KEY `idx_namespace_id_group_name_job_id` (`namespace_id`, `group_name`, job_id) +) ENGINE = InnoDB + AUTO_INCREMENT = 4 + DEFAULT CHARSET = utf8mb4 COMMENT ='job通知配置'; + +CREATE TABLE `er_job_summary` +( + `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '组名称', + `business_id` bigint NOT NULL COMMENT '业务id (job_id或workflow_id)', + `system_task_type` tinyint(4) NOT NULL DEFAULT '3' COMMENT '任务类型 3、JOB任务 4、WORKFLOW任务', + `trigger_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '统计时间', + `success_num` int NOT NULL DEFAULT '0' COMMENT '执行成功-日志数量', + `fail_num` int NOT NULL DEFAULT '0' COMMENT '执行失败-日志数量', + `fail_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败原因', + `stop_num` int NOT NULL DEFAULT '0' COMMENT '执行失败-日志数量', + `stop_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败原因', + `cancel_num` int NOT NULL DEFAULT '0' COMMENT '执行失败-日志数量', + `cancel_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败原因', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + KEY `idx_namespace_id_group_name_business_id` (`namespace_id`, `group_name`, business_id), + UNIQUE KEY `uk_trigger_at_system_task_type_business_id` (`trigger_at`, `system_task_type`, `business_id`) USING BTREE +) ENGINE = InnoDB + AUTO_INCREMENT = 1 + DEFAULT CHARSET = utf8mb4 COMMENT ='DashBoard_Job'; + +CREATE TABLE `er_retry_summary` +( + `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '组名称', + `scene_name` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '场景名称', + `trigger_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '统计时间', + `running_num` int NOT NULL DEFAULT '0' COMMENT '重试中-日志数量', + `finish_num` int NOT NULL DEFAULT '0' COMMENT '重试完成-日志数量', + `max_count_num` int NOT NULL DEFAULT '0' COMMENT '重试到达最大次数-日志数量', + `suspend_num` int NOT NULL DEFAULT '0' COMMENT '暂停重试-日志数量', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + KEY `idx_trigger_at` (`trigger_at`), + UNIQUE KEY `uk_scene_name_trigger_at` (`namespace_id`, `group_name`, `scene_name`, `trigger_at`) USING BTREE +) ENGINE = InnoDB + AUTO_INCREMENT = 1 + DEFAULT CHARSET = utf8mb4 COMMENT ='DashBoard_Retry'; + +CREATE TABLE `er_workflow` +( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `workflow_name` varchar(64) NOT NULL COMMENT '工作流名称', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `workflow_status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '工作流状态 0、关闭、1、开启', + `trigger_type` tinyint(4) NOT NULL COMMENT '触发类型 1.CRON 表达式 2. 固定时间', + `trigger_interval` varchar(255) NOT NULL COMMENT '间隔时长', + `next_trigger_at` bigint(13) NOT NULL COMMENT '下次触发时间', + `block_strategy` tinyint(4) NOT NULL DEFAULT '1' COMMENT '阻塞策略 1、丢弃 2、覆盖 3、并行', + `executor_timeout` int(11) NOT NULL DEFAULT '0' COMMENT '任务执行超时时间,单位秒', + `description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述', + `flow_info` text DEFAULT NULL COMMENT '流程信息', + `bucket_index` int(11) NOT NULL DEFAULT '0' COMMENT 'bucket', + `version` int(11) NOT NULL COMMENT '版本号', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '逻辑删除 1、删除', + `ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段', + PRIMARY KEY (`id`), + KEY `idx_create_dt` (`create_dt`), + KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`) +) ENGINE = InnoDB + AUTO_INCREMENT = 0 + DEFAULT CHARSET = utf8mb4 COMMENT ='工作流'; + +CREATE TABLE `er_workflow_node` +( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `node_name` varchar(64) NOT NULL COMMENT '节点名称', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `job_id` bigint(20) NOT NULL COMMENT '任务信息id', + `workflow_id` bigint(20) NOT NULL COMMENT '工作流ID', + `node_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '1、任务节点 2、条件节点', + `expression_type` tinyint(4) NOT NULL DEFAULT 0 COMMENT '1、SpEl、2、Aviator 3、QL', + `fail_strategy` tinyint(4) NOT NULL DEFAULT 1 COMMENT '失败策略 1、跳过 2、阻塞', + `workflow_node_status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '工作流节点状态 0、关闭、1、开启', + `priority_level` int(11) NOT NULL DEFAULT 1 COMMENT '优先级', + `node_info` text DEFAULT NULL COMMENT '节点信息 ', + `version` int(11) NOT NULL COMMENT '版本号', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '逻辑删除 1、删除', + `ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段', + PRIMARY KEY (`id`), + KEY `idx_create_dt` (`create_dt`), + KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`) +) ENGINE = InnoDB + AUTO_INCREMENT = 0 + DEFAULT CHARSET = utf8mb4 COMMENT ='工作流节点'; + +CREATE TABLE `er_workflow_task_batch` +( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `workflow_id` bigint(20) NOT NULL COMMENT '工作流任务id', + `task_batch_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '任务批次状态 0、失败 1、成功', + `operation_reason` tinyint(4) NOT NULL DEFAULT '0' COMMENT '操作原因', + `flow_info` text DEFAULT NULL COMMENT '流程信息', + `execution_at` bigint(13) NOT NULL DEFAULT '0' COMMENT '任务执行时间', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '逻辑删除 1、删除', + `ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段', + PRIMARY KEY (`id`), + KEY `idx_job_id_task_batch_status` (`workflow_id`, `task_batch_status`), + KEY `idx_create_dt` (`create_dt`), + KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`) +) ENGINE = InnoDB + AUTO_INCREMENT = 0 + DEFAULT CHARSET = utf8mb4 COMMENT ='工作流批次';