namespace OSS.Tools.TimerJob; /// /// 定时触发器 /// public class TimerTriggerSetting { /// /// 定时触发器 /// /// 开始执行时间 /// 间隔时间 /// 工作执行者(StartAsync-定时执行方法,StopAsync-定时器停止执行方法) public TimerTriggerSetting(TimeSpan dueTime, TimeSpan periodTime, IJobExecutor jobExecutor) { DueTime = dueTime; PeriodTime = periodTime; JobExecutor = jobExecutor; TriggerName = jobExecutor.JobName; } /// /// 定时触发器 /// /// 开始执行时间 /// 间隔时间 /// 定时执行方法 /// 定时器停止执行方法 /// 触发器名称 public TimerTriggerSetting(TimeSpan dueTime, TimeSpan periodTime, Func executingAction, Func? stopAction, string triggerName = "") : this(dueTime, periodTime, new InternalTimerExecutor(triggerName, executingAction, stopAction)) { } /// /// 定时触发器 /// /// 开始执行时间 /// 间隔时间 /// 定时执行方法 /// 触发器名称 public TimerTriggerSetting(TimeSpan dueTime, TimeSpan periodTime, Func executingAction, string triggerName = "") : this(dueTime, periodTime, executingAction, null, triggerName) { } /// 到期开始执行时间 public TimeSpan DueTime { get; init; } /// 间隔时间 public TimeSpan PeriodTime { get; init; } /// 触发器名称 public string TriggerName { get; init; } /// /// 工作执行者 /// public IJobExecutor JobExecutor { get; } }