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