Bläddra i källkod

update snailjob 1.4.0 => 1.5.0

疯狂的狮子Li 1 år sedan
förälder
incheckning
92908f435f
4 ändrade filer med 42 tillägg och 25 borttagningar
  1. 1 1
      pom.xml
  2. 18 12
      script/sql/oracle/oracle_ry_job.sql
  3. 16 8
      script/sql/postgres/postgres_ry_job.sql
  4. 7 4
      script/sql/ry-job.sql

+ 1 - 1
pom.xml

@@ -32,7 +32,7 @@
         <hutool.version>5.8.35</hutool.version>
         <redisson.version>3.45.1</redisson.version>
         <lock4j.version>2.2.7</lock4j.version>
-        <snailjob.version>1.4.0</snailjob.version>
+        <snailjob.version>1.5.0</snailjob.version>
         <satoken.version>1.42.0</satoken.version>
         <lombok.version>1.18.36</lombok.version>
         <logstash.version>7.4</logstash.version>

+ 18 - 12
script/sql/oracle/oracle_ry_job.sql

@@ -3,7 +3,7 @@
  SnailJob Database Transfer Tool
  Source Server Type    : MySQL
  Target Server Type    : Oracle
- Date: 2025-02-25 22:16:28
+ Date: 2025-04-26 10:01:54
 */
 
 
@@ -149,8 +149,9 @@ CREATE TABLE sj_retry_dead_letter
     id            number GENERATED ALWAYS AS IDENTITY,
     namespace_id  varchar2(64)  DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
     group_name    varchar2(64)                                             NULL,
+    group_id      number                                                   NOT NULL,
     scene_name    varchar2(64)                                             NULL,
-    idempotent_id varchar2(64)                                             NULL,
+    scene_id      number                                                   NOT NULL,    idempotent_id varchar2(64)                                             NULL,
     biz_no        varchar2(64)  DEFAULT ''                                 NULL,
     executor_name varchar2(512) DEFAULT ''                                 NULL,
     args_str      clob                                                     NULL,
@@ -169,7 +170,9 @@ CREATE INDEX idx_sj_retry_dead_letter_04 ON sj_retry_dead_letter (create_dt);
 COMMENT ON COLUMN sj_retry_dead_letter.id IS '主键';
 COMMENT ON COLUMN sj_retry_dead_letter.namespace_id IS '命名空间id';
 COMMENT ON COLUMN sj_retry_dead_letter.group_name IS '组名称';
+COMMENT ON COLUMN sj_retry_dead_letter.group_id IS '组Id';
 COMMENT ON COLUMN sj_retry_dead_letter.scene_name IS '场景名称';
+COMMENT ON COLUMN sj_retry_dead_letter.scene_id IS '场景ID';
 COMMENT ON COLUMN sj_retry_dead_letter.idempotent_id IS '幂等id';
 COMMENT ON COLUMN sj_retry_dead_letter.biz_no IS '业务编号';
 COMMENT ON COLUMN sj_retry_dead_letter.executor_name IS '执行器名称';
@@ -184,8 +187,9 @@ CREATE TABLE sj_retry
     id              number GENERATED ALWAYS AS IDENTITY,
     namespace_id    varchar2(64)  DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
     group_name      varchar2(64)                                             NULL,
+    group_id        number                                                   NOT NULL,
     scene_name      varchar2(64)                                             NULL,
-    idempotent_id   varchar2(64)                                             NULL,
+    scene_id        number                                                   NOT NULL,    idempotent_id   varchar2(64)                                             NULL,
     biz_no          varchar2(64)  DEFAULT ''                                 NULL,
     executor_name   varchar2(512) DEFAULT ''                                 NULL,
     args_str        clob                                                     NULL,
@@ -204,19 +208,21 @@ CREATE TABLE sj_retry
 ALTER TABLE sj_retry
     ADD CONSTRAINT pk_sj_retry PRIMARY KEY (id);
 
-CREATE UNIQUE INDEX uk_sj_retry_01 ON sj_retry (namespace_id, group_name, task_type, idempotent_id, deleted);
+CREATE UNIQUE INDEX uk_sj_retry_01 ON sj_retry (scene_id, task_type, idempotent_id, deleted);
+
+CREATE INDEX idx_sj_retry_01 ON sj_retry (biz_no);
+CREATE INDEX idx_sj_retry_02 ON sj_retry (retry_status, bucket_index);
+CREATE INDEX idx_sj_retry_03 ON sj_retry (parent_id);
+CREATE INDEX idx_sj_retry_04 ON sj_retry (create_dt);
+CREATE INDEX idx_sj_retry_05 ON sj_retry (idempotent_id);
 
-CREATE INDEX idx_sj_retry_01 ON sj_retry (namespace_id, group_name, scene_name);
-CREATE INDEX idx_sj_retry_02 ON sj_retry (namespace_id, group_name, retry_status);
-CREATE INDEX idx_sj_retry_03 ON sj_retry (idempotent_id);
-CREATE INDEX idx_sj_retry_04 ON sj_retry (biz_no);
-CREATE INDEX idx_sj_retry_05 ON sj_retry (parent_id);
-CREATE INDEX idx_sj_retry_06 ON sj_retry (create_dt);
 
 COMMENT ON COLUMN sj_retry.id IS '主键';
 COMMENT ON COLUMN sj_retry.namespace_id IS '命名空间id';
 COMMENT ON COLUMN sj_retry.group_name IS '组名称';
+COMMENT ON COLUMN sj_retry.group_id IS '组Id';
 COMMENT ON COLUMN sj_retry.scene_name IS '场景名称';
+COMMENT ON COLUMN sj_retry.scene_id IS '场景ID';
 COMMENT ON COLUMN sj_retry.idempotent_id IS '幂等id';
 COMMENT ON COLUMN sj_retry.biz_no IS '业务编号';
 COMMENT ON COLUMN sj_retry.executor_name IS '执行器名称';
@@ -395,7 +401,7 @@ COMMENT ON TABLE sj_server_node IS '服务器节点';
 -- sj_distributed_lock
 CREATE TABLE sj_distributed_lock
 (
-    name       varchar2(64)                              NOT NULL,
+    name       varchar2(64)                              NULL,
     lock_until timestamp(3) DEFAULT CURRENT_TIMESTAMP(3) NOT NULL,
     locked_at  timestamp(3) DEFAULT CURRENT_TIMESTAMP(3) NOT NULL,
     locked_by  varchar2(255)                             NULL,
@@ -404,7 +410,7 @@ CREATE TABLE sj_distributed_lock
 );
 
 ALTER TABLE sj_distributed_lock
-    ADD CONSTRAINT pk_sj_distributed_lock PRIMARY KEY (name);
+    ADD CONSTRAINT pk_sj_distributed_lock PRIMARY KEY (id);
 
 COMMENT ON COLUMN sj_distributed_lock.name IS '锁名称';
 COMMENT ON COLUMN sj_distributed_lock.lock_until IS '锁定时长';

+ 16 - 8
script/sql/postgres/postgres_ry_job.sql

@@ -2,7 +2,7 @@
  SnailJob Database Transfer Tool
  Source Server Type    : MySQL
  Target Server Type    : PostgreSQL
- Date: 2025-02-25 22:15:32
+ Date: 2025-04-26 09:56:45
 */
 
 
@@ -136,7 +136,9 @@ CREATE TABLE sj_retry_dead_letter
     id            bigserial PRIMARY KEY,
     namespace_id  varchar(64)  NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
     group_name    varchar(64)  NOT NULL,
+    group_id      bigint       NOT NULL,
     scene_name    varchar(64)  NOT NULL,
+    scene_id      bigint       NOT NULL,
     idempotent_id varchar(64)  NOT NULL,
     biz_no        varchar(64)  NOT NULL DEFAULT '',
     executor_name varchar(512) NOT NULL DEFAULT '',
@@ -153,7 +155,9 @@ CREATE INDEX idx_sj_retry_dead_letter_04 ON sj_retry_dead_letter (create_dt);
 COMMENT ON COLUMN sj_retry_dead_letter.id IS '主键';
 COMMENT ON COLUMN sj_retry_dead_letter.namespace_id IS '命名空间id';
 COMMENT ON COLUMN sj_retry_dead_letter.group_name IS '组名称';
+COMMENT ON COLUMN sj_retry_dead_letter.group_id IS '组Id';
 COMMENT ON COLUMN sj_retry_dead_letter.scene_name IS '场景名称';
+COMMENT ON COLUMN sj_retry_dead_letter.scene_id IS '场景ID';
 COMMENT ON COLUMN sj_retry_dead_letter.idempotent_id IS '幂等id';
 COMMENT ON COLUMN sj_retry_dead_letter.biz_no IS '业务编号';
 COMMENT ON COLUMN sj_retry_dead_letter.executor_name IS '执行器名称';
@@ -168,7 +172,9 @@ CREATE TABLE sj_retry
     id              bigserial PRIMARY KEY,
     namespace_id    varchar(64)  NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
     group_name      varchar(64)  NOT NULL,
+    group_id        bigint       NOT NULL,
     scene_name      varchar(64)  NOT NULL,
+    scene_id        bigint       NOT NULL,
     idempotent_id   varchar(64)  NOT NULL,
     biz_no          varchar(64)  NOT NULL DEFAULT '',
     executor_name   varchar(512) NOT NULL DEFAULT '',
@@ -185,19 +191,21 @@ CREATE TABLE sj_retry
     update_dt       timestamp    NOT NULL DEFAULT CURRENT_TIMESTAMP
 );
 
-CREATE UNIQUE INDEX uk_sj_retry_01 ON sj_retry (namespace_id, group_name, task_type, idempotent_id, deleted);
+CREATE UNIQUE INDEX uk_sj_retry_01 ON sj_retry (scene_id, task_type, idempotent_id, deleted);
+
+CREATE INDEX idx_sj_retry_01 ON sj_retry (biz_no);
+CREATE INDEX idx_sj_retry_02 ON sj_retry (retry_status, bucket_index);
+CREATE INDEX idx_sj_retry_03 ON sj_retry (parent_id);
+CREATE INDEX idx_sj_retry_04 ON sj_retry (create_dt);
+CREATE INDEX idx_sj_retry_05 ON sj_retry (idempotent_id);
 
-CREATE INDEX idx_sj_retry_01 ON sj_retry (namespace_id, group_name, scene_name);
-CREATE INDEX idx_sj_retry_02 ON sj_retry (namespace_id, group_name, retry_status);
-CREATE INDEX idx_sj_retry_03 ON sj_retry (idempotent_id);
-CREATE INDEX idx_sj_retry_04 ON sj_retry (biz_no);
-CREATE INDEX idx_sj_retry_05 ON sj_retry (parent_id);
-CREATE INDEX idx_sj_retry_06 ON sj_retry (create_dt);
 
 COMMENT ON COLUMN sj_retry.id IS '主键';
 COMMENT ON COLUMN sj_retry.namespace_id IS '命名空间id';
 COMMENT ON COLUMN sj_retry.group_name IS '组名称';
+COMMENT ON COLUMN sj_retry.group_id IS '组Id';
 COMMENT ON COLUMN sj_retry.scene_name IS '场景名称';
+COMMENT ON COLUMN sj_retry.scene_id IS '场景ID';
 COMMENT ON COLUMN sj_retry.idempotent_id IS '幂等id';
 COMMENT ON COLUMN sj_retry.biz_no IS '业务编号';
 COMMENT ON COLUMN sj_retry.executor_name IS '执行器名称';

+ 7 - 4
script/sql/ry-job.sql

@@ -84,7 +84,9 @@ CREATE TABLE `sj_retry_dead_letter`
     `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 '组名称',
+    `group_id`      bigint(20)          NOT NULL COMMENT '组Id',
     `scene_name`    varchar(64)         NOT NULL COMMENT '场景名称',
+    `scene_id`      bigint(20)          NOT NULL COMMENT '场景ID',
     `idempotent_id` varchar(64)         NOT NULL COMMENT '幂等id',
     `biz_no`        varchar(64)         NOT NULL DEFAULT '' COMMENT '业务编号',
     `executor_name` varchar(512)        NOT NULL DEFAULT '' COMMENT '执行器名称',
@@ -105,7 +107,9 @@ CREATE TABLE `sj_retry`
     `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 '组名称',
+    `group_id`        bigint(20)          NOT NULL COMMENT '组Id',
     `scene_name`      varchar(64)         NOT NULL COMMENT '场景名称',
+    `scene_id`        bigint(20)          NOT NULL COMMENT '场景ID',
     `idempotent_id`   varchar(64)         NOT NULL COMMENT '幂等id',
     `biz_no`          varchar(64)         NOT NULL DEFAULT '' COMMENT '业务编号',
     `executor_name`   varchar(512)        NOT NULL DEFAULT '' COMMENT '执行器名称',
@@ -121,13 +125,12 @@ CREATE TABLE `sj_retry`
     `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_retry_status` (`namespace_id`, `group_name`, `retry_status`),
-    KEY `idx_idempotent_id` (`idempotent_id`),
     KEY `idx_biz_no` (`biz_no`),
+    KEY `idx_idempotent_id` (`idempotent_id`),
+    KEY `idx_retry_status_bucket_index` (`retry_status`, `bucket_index`),
     KEY `idx_parent_id` (`parent_id`),
     KEY `idx_create_dt` (`create_dt`),
-    UNIQUE KEY `uk_name_task_type_idempotent_id_deleted` (`namespace_id`, `group_name`, `task_type`, `idempotent_id`, `deleted`)
+    UNIQUE KEY `uk_scene_tasktype_idempotentid_deleted` (`scene_id`, `task_type`, `idempotent_id`, `deleted`)
 ) ENGINE = InnoDB
   AUTO_INCREMENT = 0
   DEFAULT CHARSET = utf8mb4 COMMENT ='重试信息表';