using System; namespace ZeroLevel.Services.Shedulling { public interface IExpirationSheduller : IDisposable { /// /// Добавление задачи с указанием времени по истечении которого она должна быть исполнена /// long Push(TimeSpan timespan, Action callback); /// /// Добавление задачи с указанием даты/времени когда она должна быть исполнена /// long Push(DateTime date, Action callback); /// /// Удаляет событие по его идентификатору /// /// Идентификатор события bool Remove(long key); /// /// Очистка планировщика /// void Clean(); /// /// Приостановка работы планировщика (не препятствует добавлению новых заданий) /// void Pause(); /// /// Возобновление работы планировщика /// void Resume(); } }