Files
OSS.Tools/Job/OSS.Tools.TimerJob/BaseJobExecutor.cs
T
2021-01-17 22:02:47 +08:00

32 lines
826 B
C#

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