You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
1.5 KiB
Java

package com.ruoyi.cron.task;
import cn.hutool.core.util.RandomUtil;
import com.ruoyi.cron.TaskLog;
import com.ruoyi.cron.annotation.Cron;
import com.ruoyi.cron.annotation.CronComponent;
import com.ruoyi.cron.annotation.CronParam;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import java.util.Date;
import java.util.concurrent.TimeUnit;
@CronComponent
@RequiredArgsConstructor
public class CronTaskTestTask {
private final TaskLog log;
@Cron("测试任务一")
public void test() {
log.log("测试任务一执行中...");
if (RandomUtil.randomBoolean()) {
throw new RuntimeException("测试异常");
}
}
public String name1() {
return "自己方法执行的值";
}
public String name2() {
return "Springbean执行的值";
}
@Cron(value = "测试任务二", order = 2, group = 0)
public void test2(@CronParam("测试日期参数") Date date, @CronParam("测试bean参数") String s1, String s2, int args) {
log.log("测试任务二执行中...{},{},{},{}", date, s1, s2, args);
if (RandomUtil.randomBoolean()) {
throw new RuntimeException("测试异常");
}
}
@Cron("测试任务三:耗时很长")
public void test3()throws Exception {
log.log("开始执行");
for(int i=0;i<100;i++){
if(RandomUtil.randomInt(100)>95){
log.log("完成: {}%",new Exception("测试执行过程异常"),i+1);
}else{
log.log("完成: {}%",i+1);
}
TimeUnit.SECONDS.sleep(RandomUtil.randomInt(1,3));
}
log.log("完成");
}
}