using System; using System.Threading; using System.Threading.Tasks; namespace AsbCloudApp.Services { /// /// Сервис выстраивает очередь из фоновых задач. Ограничивает количество одновременно выполняющихся задач. /// public interface IBackgroundWorkerService { /// /// Проверка, есть ли задача в очереди /// /// идентификатор задачи /// bool Contains(string id); /// /// Добавляет в очередь задач новую задачу /// /// идентификатор задачи /// делегат /// id задачи в очереди string Enqueue(string id, Func func); /// /// Добавляет в очередь задач новую задачу /// /// /// string Enqueue(Func func); /// /// Добавляет в очередь задач новую задачу /// /// идентификатор задачи /// /// /// string Enqueue(string id, Func func, Func onError); /// /// Пробуем удалить задачу по идентификатору /// /// /// bool TryRemove(string id); } }