diff --git a/pom.xml b/pom.xml
index 697f6c601..46ea1097e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -21,7 +21,7 @@
17
17
17
- 1.3.0
+ 1.4.0-beta1
4.1.114.Final
5.8.32
3.5.9
diff --git a/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/dto/JobTriggerDTO.java b/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/dto/JobTriggerDTO.java
new file mode 100644
index 000000000..e07b08d4a
--- /dev/null
+++ b/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/dto/JobTriggerDTO.java
@@ -0,0 +1,17 @@
+package com.aizuda.snailjob.client.job.core.dto;
+
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+
+@Data
+public class JobTriggerDTO {
+
+ @NotNull(message = "jobId 不能为空")
+ private Long jobId;
+
+ /**
+ * 临时任务参数
+ */
+ private String tmpArgsStr;
+}
diff --git a/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/handler/AbstractTriggerHandler.java b/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/handler/AbstractTriggerHandler.java
new file mode 100644
index 000000000..06b734749
--- /dev/null
+++ b/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/handler/AbstractTriggerHandler.java
@@ -0,0 +1,56 @@
+package com.aizuda.snailjob.client.job.core.handler;
+
+import cn.hutool.core.util.StrUtil;
+import com.aizuda.snailjob.client.job.core.dto.JobTriggerDTO;
+import com.aizuda.snailjob.common.core.util.JsonUtil;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.HashMap;
+import java.util.Map;
+
+
+public abstract class AbstractTriggerHandler extends AbstractRequestHandler {
+ @Getter
+ private final JobTriggerDTO reqDTO;
+ @Setter
+ private H r;
+
+ public AbstractTriggerHandler(Long jobId) {
+ this.reqDTO = new JobTriggerDTO();
+ // 设置调度id
+ reqDTO.setJobId(jobId);
+ }
+
+
+ /**
+ * 添加参数,可支持多次添加
+ * 静态分片不可使用该方法
+ *
+ * @param argsKey 参数名
+ * @param argsValue 参数值
+ * @return
+ */
+ protected H addArgsStr(String argsKey, Object argsValue) {
+ Map map = new HashMap<>();
+ if (StrUtil.isNotBlank(reqDTO.getTmpArgsStr())) {
+ map = JsonUtil.parseHashMap(reqDTO.getTmpArgsStr());
+ }
+ map.put(argsKey, argsValue);
+ reqDTO.setTmpArgsStr(JsonUtil.toJsonString(map));
+ return r;
+ }
+
+ /**
+ * 添加静态分片相关参数
+ *
+ * @param shardingValue 分片参数
+ * @return r
+ */
+ protected H addShardingArgs(String... shardingValue) {
+ reqDTO.setTmpArgsStr(JsonUtil.toJsonString(shardingValue));
+ return r;
+ }
+
+ protected abstract void afterExecute(Boolean aBoolean);
+}
diff --git a/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/handler/trigger/BroadcastTriggerHandler.java b/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/handler/trigger/BroadcastTriggerHandler.java
new file mode 100644
index 000000000..5b9ddbfbd
--- /dev/null
+++ b/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/handler/trigger/BroadcastTriggerHandler.java
@@ -0,0 +1,14 @@
+package com.aizuda.snailjob.client.job.core.handler.trigger;
+
+
+public class BroadcastTriggerHandler extends TriggerJobHandler{
+
+ public BroadcastTriggerHandler(Long triggerJobId) {
+ super(triggerJobId);
+ }
+
+ @Override
+ public BroadcastTriggerHandler addArgsStr(String argsKey, Object argsValue) {
+ return super.addArgsStr(argsKey, argsValue);
+ }
+}
diff --git a/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/handler/trigger/ClusterTriggerHandler.java b/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/handler/trigger/ClusterTriggerHandler.java
new file mode 100644
index 000000000..dbcfbe564
--- /dev/null
+++ b/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/handler/trigger/ClusterTriggerHandler.java
@@ -0,0 +1,14 @@
+package com.aizuda.snailjob.client.job.core.handler.trigger;
+
+
+public class ClusterTriggerHandler extends TriggerJobHandler{
+
+ public ClusterTriggerHandler(Long triggerJobId) {
+ super(triggerJobId);
+ }
+
+ @Override
+ public ClusterTriggerHandler addArgsStr(String argsKey, Object argsValue) {
+ return super.addArgsStr(argsKey, argsValue);
+ }
+}
diff --git a/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/handler/trigger/MapReduceTriggerHandler.java b/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/handler/trigger/MapReduceTriggerHandler.java
new file mode 100644
index 000000000..8cd58abbb
--- /dev/null
+++ b/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/handler/trigger/MapReduceTriggerHandler.java
@@ -0,0 +1,14 @@
+package com.aizuda.snailjob.client.job.core.handler.trigger;
+
+
+public class MapReduceTriggerHandler extends TriggerJobHandler{
+
+ public MapReduceTriggerHandler(Long triggerJobId) {
+ super(triggerJobId);
+ }
+
+ @Override
+ public MapReduceTriggerHandler addArgsStr(String argsKey, Object argsValue) {
+ return super.addArgsStr(argsKey, argsValue);
+ }
+}
diff --git a/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/handler/trigger/MapTriggerHandler.java b/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/handler/trigger/MapTriggerHandler.java
new file mode 100644
index 000000000..8cbcdbca5
--- /dev/null
+++ b/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/handler/trigger/MapTriggerHandler.java
@@ -0,0 +1,14 @@
+package com.aizuda.snailjob.client.job.core.handler.trigger;
+
+
+public class MapTriggerHandler extends TriggerJobHandler{
+
+ public MapTriggerHandler(Long triggerJobId) {
+ super(triggerJobId);
+ }
+
+ @Override
+ public MapTriggerHandler addArgsStr(String argsKey, Object argsValue) {
+ return super.addArgsStr(argsKey, argsValue);
+ }
+}
diff --git a/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/handler/trigger/ShardingTriggerHandler.java b/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/handler/trigger/ShardingTriggerHandler.java
new file mode 100644
index 000000000..c3ceb0d71
--- /dev/null
+++ b/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/handler/trigger/ShardingTriggerHandler.java
@@ -0,0 +1,14 @@
+package com.aizuda.snailjob.client.job.core.handler.trigger;
+
+
+public class ShardingTriggerHandler extends TriggerJobHandler{
+
+ public ShardingTriggerHandler(Long triggerJobId) {
+ super(triggerJobId);
+ }
+
+ @Override
+ public ShardingTriggerHandler addShardingArgs(String... shardingValue) {
+ return super.addShardingArgs(shardingValue);
+ }
+}
diff --git a/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/handler/trigger/TriggerJobHandler.java b/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/handler/trigger/TriggerJobHandler.java
index 32b6ee58c..25d193380 100644
--- a/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/handler/trigger/TriggerJobHandler.java
+++ b/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/handler/trigger/TriggerJobHandler.java
@@ -3,16 +3,14 @@ package com.aizuda.snailjob.client.job.core.handler.trigger;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.lang.Pair;
import com.aizuda.snailjob.client.common.exception.SnailJobClientException;
-import com.aizuda.snailjob.client.job.core.handler.AbstractRequestHandler;
+import com.aizuda.snailjob.client.job.core.handler.AbstractTriggerHandler;
import com.aizuda.snailjob.common.core.enums.StatusEnum;
import com.aizuda.snailjob.common.core.model.Result;
-public class TriggerJobHandler extends AbstractRequestHandler {
- private final Long triggerJobId;
-
+public abstract class TriggerJobHandler extends AbstractTriggerHandler {
public TriggerJobHandler(Long triggerJobId) {
- this.triggerJobId = triggerJobId;
+ super(triggerJobId);
}
@Override
@@ -27,7 +25,7 @@ public class TriggerJobHandler extends AbstractRequestHandler {
@Override
protected Boolean doExecute() {
- Result