parent
492d720215
commit
b5c5bf7b97
@ -0,0 +1,22 @@
|
|||||||
|
package com.xxl.job.admin.scheduler.type;
|
||||||
|
|
||||||
|
import com.xxl.job.admin.model.XxlJobInfo;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Schedule Type
|
||||||
|
*
|
||||||
|
* @author xuxueli 2020-10-29
|
||||||
|
*/
|
||||||
|
public abstract class ScheduleType {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* generate next trigger time
|
||||||
|
*
|
||||||
|
* @param jobInfo job info
|
||||||
|
* @param fromTime from time
|
||||||
|
*/
|
||||||
|
public abstract Date generateNextTriggerTime(XxlJobInfo jobInfo, Date fromTime) throws Exception;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,17 @@
|
|||||||
|
package com.xxl.job.admin.scheduler.type.strategy;
|
||||||
|
|
||||||
|
import com.xxl.job.admin.model.XxlJobInfo;
|
||||||
|
import com.xxl.job.admin.scheduler.cron.CronExpression;
|
||||||
|
import com.xxl.job.admin.scheduler.type.ScheduleType;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
public class CronScheduleType extends ScheduleType {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Date generateNextTriggerTime(XxlJobInfo jobInfo, Date fromTime) throws Exception {
|
||||||
|
// generate next trigger time, with cron
|
||||||
|
return new CronExpression(jobInfo.getScheduleConf()).getNextValidTimeAfter(fromTime);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,16 @@
|
|||||||
|
package com.xxl.job.admin.scheduler.type.strategy;
|
||||||
|
|
||||||
|
import com.xxl.job.admin.model.XxlJobInfo;
|
||||||
|
import com.xxl.job.admin.scheduler.type.ScheduleType;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
public class FixRateScheduleType extends ScheduleType {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Date generateNextTriggerTime(XxlJobInfo jobInfo, Date fromTime) throws Exception {
|
||||||
|
// generate next trigger time, fix rate delay
|
||||||
|
return new Date(fromTime.getTime() + Long.parseLong(jobInfo.getScheduleConf()) * 1000L);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,16 @@
|
|||||||
|
package com.xxl.job.admin.scheduler.type.strategy;
|
||||||
|
|
||||||
|
import com.xxl.job.admin.model.XxlJobInfo;
|
||||||
|
import com.xxl.job.admin.scheduler.type.ScheduleType;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
public class NoneScheduleType extends ScheduleType {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Date generateNextTriggerTime(XxlJobInfo jobInfo, Date fromTime) throws Exception {
|
||||||
|
// generate none trigger-time
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in new issue