package tech.powerjob.server.core.scheduler.auxiliary;
|
|
import tech.powerjob.common.enums.TimeExpressionType;
|
|
/**
|
* @author Echo009
|
* @since 2022/2/24
|
*/
|
public interface TimingStrategyHandler {
|
|
/**
|
* 校验表达式
|
*
|
* @param timeExpression 时间表达式
|
*/
|
void validate(String timeExpression);
|
|
/**
|
* 计算下次触发时间
|
*
|
* @param preTriggerTime 上次触发时间 (not null)
|
* @param timeExpression 时间表达式
|
* @param startTime 开始时间(include)
|
* @param endTime 结束时间(include)
|
* @return next trigger time
|
*/
|
Long calculateNextTriggerTime(Long preTriggerTime, String timeExpression, Long startTime, Long endTime);
|
|
/**
|
* 支持的定时策略
|
*
|
* @return TimeExpressionType
|
*/
|
TimeExpressionType supportType();
|
|
|
}
|