using System.Threading; using System.Threading.Tasks; namespace OSS.Tools.TimerJob { /// /// 任务基类 /// 如果执行时间过长,重复触发时 当前任务还在进行中,则不做任何处理 /// public abstract class BaseJobExecutor : BaseInternalExecutor { /// /// 列表任务执行者 /// protected BaseJobExecutor(string jobName) { JobName = jobName; } internal override Task InternalStartJob(CancellationToken cancellationToken) { return OnStarted(cancellationToken); } /// /// 任务执行 /// protected abstract Task OnStarted(CancellationToken cancellationToken); } }