namespace OSS.Tools.TimerJob { /// /// 任务基类 /// 如果执行时间过长,重复触发时 当前任务还在进行中,则不做任何处理 /// public abstract class BaseJobExecutor : Internal_BaseExecutor, IJobExecutor { /// /// 任务名称 /// public string JobName { get; protected set; } /// /// 列表任务执行者 /// protected BaseJobExecutor(string jobName) { JobName = jobName; } #region 重写父类方法 /// internal override Task InternalStartJob(CancellationToken cancellationToken) { return OnStarting(cancellationToken); } /// internal override Task InternalStopJob(CancellationToken cancellationToken) { return OnStopping(cancellationToken); } #endregion #region 扩展方法 /// /// 任务执行 /// protected abstract Task OnStarting(CancellationToken cancellationToken); /// /// 任务结束 /// protected virtual Task OnStopping(CancellationToken cancellationToken) { return Task.CompletedTask; } #endregion } }