using PARR.Domain.DTOs.TaskDTO;
using PARR.Domain.Entities.Base.History;
using PARR.Domain.Enums;
using PARR.Domain.Settings;
namespace PARR.Core.Services.TaskServices.Interfaces
{
///
/// Управления задачами (очередями)
///
public interface ITaskManagementService
{
///
/// Создать новую задачу в БД и опубликовать в очередь.
/// В случае ошибок генерирует Exception.
///
///
/// Тип задачи
/// Payload
/// Инициатор
/// Настройки очереди
///
Task CreateTaskAsync(TaskTypeEnum typeCode, T payload, IHistoryInitiator initiator, IMqSettings mqSettings);
///
/// Получить список активных задач
///
///
///
Task> GetActiveTasksAsync(TaskTypeEnum? typeCode = null);
}
}