using System; using System.Threading; using System.Threading.Tasks; namespace AsbCloudInfrastructure.Background { #nullable enable /// /// Класс периодической работы. /// 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; } } #nullable disable }