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);
}
}