gtsoft-snail-job-demo/src/main/java/com/example/snailjob/handler/TestAddJobHandler.java
2025-02-17 21:36:42 +08:00

127 lines
4.1 KiB
Java

package com.example.snailjob.handler;
import com.aizuda.snailjob.client.job.core.enums.AllocationAlgorithmEnum;
import com.aizuda.snailjob.client.job.core.enums.TriggerTypeEnum;
import com.aizuda.snailjob.client.job.core.openapi.SnailJobOpenApi;
import com.aizuda.snailjob.common.core.enums.JobBlockStrategyEnum;
import org.springframework.stereotype.Component;
@Component
public class TestAddJobHandler {
/**
* 新增集群模式的任务
*
* @param jobName 任务名称
* @return 任务id
*/
public Long addClusterJob(String jobName) {
return SnailJobOpenApi.addClusterJob()
.setRouteKey(AllocationAlgorithmEnum.RANDOM)
.setJobName(jobName)
.setExecutorInfo("testJobExecutor")
.setExecutorTimeout(30)
.setDescription("add")
.setBlockStrategy(JobBlockStrategyEnum.DISCARD)
.setMaxRetryTimes(1)
.setTriggerType(TriggerTypeEnum.SCHEDULED_TIME)
.setTriggerInterval(String.valueOf(60))
.addArgsStr("测试数据", 123)
.addArgsStr("addArg", "args")
.setRetryInterval(3)
.execute();
}
/**
* 新增集群模式的任务
*
* @param jobName 任务名称
* @return 任务id
*/
public Long addBroadcastJob(String jobName) {
return SnailJobOpenApi.addBroadcastJob()
.setJobName(jobName)
.setExecutorInfo("testJobExecutor")
.setExecutorTimeout(30)
.setDescription("add")
.setBlockStrategy(JobBlockStrategyEnum.DISCARD)
.setMaxRetryTimes(1)
.setTriggerType(TriggerTypeEnum.CRON)
.setTriggerInterval("afas")
.addArgsStr("测试数据", 123)
.addArgsStr("addArg", "args")
.setRetryInterval(3)
.execute();
}
/**
* 新增Sharding模式的任务
*
* @param jobName 任务名称
* @return 任务id
*/
public Long addShardingJob(String jobName) {
return SnailJobOpenApi.addShardingJob()
.setJobName(jobName)
.setExecutorInfo("testJobExecutor")
.setExecutorTimeout(30)
.setDescription("add")
.setBlockStrategy(JobBlockStrategyEnum.DISCARD)
.setMaxRetryTimes(1)
.setTriggerType(TriggerTypeEnum.SCHEDULED_TIME)
.setTriggerInterval(60)
.addShardingArgs("分片1", "分片2", "分片3")
.setParallelNum(1)
.setRetryInterval(3)
.execute();
}
/**
* 新增MapReduce模式的任务
*
* @param jobName 任务名称
* @return 任务id
*/
public Long addMapJob(String jobName) {
return SnailJobOpenApi.addMapJob()
.setJobName(jobName)
.setExecutorInfo("testJobExecutor")
.setExecutorTimeout(30)
.setDescription("add")
.setBlockStrategy(JobBlockStrategyEnum.DISCARD)
.setMaxRetryTimes(1)
.setTriggerType(TriggerTypeEnum.SCHEDULED_TIME)
.setTriggerInterval(String.valueOf(60))
.setParallelNum(3)
.setRetryInterval(3)
.execute();
}
/**
* 新增MapReduce模式的任务
*
* @param jobName 任务名称
* @return 任务id
*/
public Long addMapReduceJob(String jobName) {
return SnailJobOpenApi.addMapReduceJob()
.setJobName(jobName)
.setExecutorInfo("testJobExecutor")
.setExecutorTimeout(30)
.setDescription("add")
.setBlockStrategy(JobBlockStrategyEnum.DISCARD)
.setMaxRetryTimes(1)
.setTriggerType(TriggerTypeEnum.SCHEDULED_TIME)
.setTriggerInterval(String.valueOf(60))
.setParallelNum(3)
.setShardNum(2)
.setRetryInterval(3)
.execute();
}
}