diff --git a/doc/sql/easy_retry_mysql.sql b/doc/sql/easy_retry_mysql.sql
index 6e0e09da..e12efe30 100644
--- a/doc/sql/easy_retry_mysql.sql
+++ b/doc/sql/easy_retry_mysql.sql
@@ -62,7 +62,7 @@ CREATE TABLE `notify_config`
`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_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`)
) ENGINE = InnoDB
AUTO_INCREMENT = 0
DEFAULT CHARSET = utf8mb4 COMMENT ='通知配置'
@@ -393,7 +393,7 @@ CREATE TABLE `job_notify_config`
`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_namespace_id_group_name_job_id` (`namespace_id`,`group_name`, job_id)
) ENGINE=InnoDB
AUTO_INCREMENT=4
DEFAULT CHARSET=utf8mb4 COMMENT='job通知配置';
@@ -415,6 +415,7 @@ CREATE TABLE `job_summary`
`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),
UNIQUE KEY `uk_job_id_trigger_at` (`job_id`, `trigger_at`) USING BTREE
) ENGINE = InnoDB
AUTO_INCREMENT = 1
@@ -434,7 +435,8 @@ CREATE TABLE `retry_summary`
`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_scene_name_trigger_at` (`scene_name`, `trigger_at`) USING BTREE
+ KEY `idx_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, scene_name),
+ 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';
\ No newline at end of file
diff --git a/easy-retry-datasource/easy-retry-mariadb-datasource/src/main/resources/mariadb/mapper/RetryTaskLogMapper.xml b/easy-retry-datasource/easy-retry-mariadb-datasource/src/main/resources/mariadb/mapper/RetryTaskLogMapper.xml
index 6f62cb5f..4e5f4c38 100644
--- a/easy-retry-datasource/easy-retry-mariadb-datasource/src/main/resources/mariadb/mapper/RetryTaskLogMapper.xml
+++ b/easy-retry-datasource/easy-retry-mariadb-datasource/src/main/resources/mariadb/mapper/RetryTaskLogMapper.xml
@@ -29,7 +29,7 @@
(#{item.uniqueId}, #{item.groupName}, #{item.sceneName}, #{item.idempotentId},
#{item.bizNo}, #{item.executorName}, #{item.argsStr}, #{item.extAttrs},
- #{item.taskType}, #{item.createDt}, #{namespaceId})
+ #{item.taskType}, #{item.createDt}, #{item.namespaceId})
diff --git a/easy-retry-datasource/easy-retry-mysql-datasource/src/main/resources/mysql/mapper/RetryTaskLogMapper.xml b/easy-retry-datasource/easy-retry-mysql-datasource/src/main/resources/mysql/mapper/RetryTaskLogMapper.xml
index bb505d84..3e945bd0 100644
--- a/easy-retry-datasource/easy-retry-mysql-datasource/src/main/resources/mysql/mapper/RetryTaskLogMapper.xml
+++ b/easy-retry-datasource/easy-retry-mysql-datasource/src/main/resources/mysql/mapper/RetryTaskLogMapper.xml
@@ -30,7 +30,7 @@
(#{item.uniqueId}, #{item.groupName}, #{item.sceneName}, #{item.idempotentId},
#{item.bizNo}, #{item.executorName}, #{item.argsStr}, #{item.extAttrs},
- #{item.taskType}, #{item.createDt}, #{namespaceId})
+ #{item.taskType}, #{item.createDt}, #{item.namespaceId})
diff --git a/easy-retry-datasource/easy-retry-postgres-datasource/src/main/resources/postgres/mapper/RetryTaskLogMapper.xml b/easy-retry-datasource/easy-retry-postgres-datasource/src/main/resources/postgres/mapper/RetryTaskLogMapper.xml
index 6f62cb5f..4e5f4c38 100644
--- a/easy-retry-datasource/easy-retry-postgres-datasource/src/main/resources/postgres/mapper/RetryTaskLogMapper.xml
+++ b/easy-retry-datasource/easy-retry-postgres-datasource/src/main/resources/postgres/mapper/RetryTaskLogMapper.xml
@@ -29,7 +29,7 @@
(#{item.uniqueId}, #{item.groupName}, #{item.sceneName}, #{item.idempotentId},
#{item.bizNo}, #{item.executorName}, #{item.argsStr}, #{item.extAttrs},
- #{item.taskType}, #{item.createDt}, #{namespaceId})
+ #{item.taskType}, #{item.createDt}, #{item.namespaceId})
diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/listener/JobTaskFailAlarmListener.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/listener/JobTaskFailAlarmListener.java
index 384f390b..ca80ec2f 100644
--- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/listener/JobTaskFailAlarmListener.java
+++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/listener/JobTaskFailAlarmListener.java
@@ -109,7 +109,7 @@ public class JobTaskFailAlarmListener extends AbstractJobAlarm(), new CustomizableThreadFactory(THREAD_NAME_PREFIX));
private static final TimerIdempotent idempotent = new TimerIdempotent();
@@ -32,7 +37,7 @@ public class JobTimerWheel implements Lifecycle {
public void start() {
timer = new HashedWheelTimer(
new CustomizableThreadFactory(THREAD_NAME_PREFIX), TICK_DURATION,
- TimeUnit.MILLISECONDS);
+ TimeUnit.MILLISECONDS, 512, true, -1, executor);
timer.start();
}
diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/listener/RetryTaskFailDeadLetterAlarmListener.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/listener/RetryTaskFailDeadLetterAlarmListener.java
index da4e40c8..85f204dc 100644
--- a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/listener/RetryTaskFailDeadLetterAlarmListener.java
+++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/listener/RetryTaskFailDeadLetterAlarmListener.java
@@ -74,7 +74,7 @@ public class RetryTaskFailDeadLetterAlarmListener extends AbstractRetryAlarm());
+ private static final ThreadPoolExecutor executor =
+ new ThreadPoolExecutor(16, 16, 10, TimeUnit.SECONDS,
+ new LinkedBlockingQueue<>(), new CustomizableThreadFactory(THREAD_NAME_PREFIX));
+
private static final TimerIdempotent idempotent = new TimerIdempotent();
@Override