using System;
using System.Threading;
using System.Threading.Tasks;
namespace AsbCloudInfrastructure.Background
{
///
/// Класс периодической работы.
///
public class WorkPeriodic : WorkBase
{
///
/// Период выполнения задачи
///
public TimeSpan Period { get; set; }
///
/// Время следующего запуска
///
public DateTime NextStart => LastStart + Period;
///
/// Класс периодической работы
///
/// Идентификатор работы. Должен быть уникальным. Используется в логах и передается в колбэки
/// Делегат работы
/// Период выполнения задачи
public WorkPeriodic(string id, Func actionAsync, TimeSpan period)
: base(id, actionAsync)
{
Period = period;
}
}
}