feat(distributor): реализована логика распределения всех шаблонов в методе DistributeTemplatesAsync
This commit is contained in:
@@ -1,18 +1,25 @@
|
||||
using PARR.DAL.Models;
|
||||
using PARR.DAL.NextRunServices.Models;
|
||||
using PARR.DAL.NextRunServices.Models;
|
||||
|
||||
namespace PARR.DAL.NextRunServices.Subservices
|
||||
{
|
||||
internal interface ITemplateDistributor
|
||||
//todo: public -> internal!!!
|
||||
public interface ITemplateDistributor
|
||||
{
|
||||
Task<List<TemplateNextRunDto>> GetValidNextRunAsync(TemplateNextRunDto template, DateOnly startDate, DateOnly endDate, TimeSpan executionTime);
|
||||
/// <summary>
|
||||
/// Распределяет все шаблоны на указанный период, учитывая план нагрузки.
|
||||
/// Возвращает список всех шаблонов с обновлёнными датами выполнения.
|
||||
/// </summary>
|
||||
/// <param name="startDate">Дата начала распределения</param>
|
||||
/// <param name="duration">Длительность распределения, дней</param>
|
||||
/// <param name="referenceDate">ReferenceDate</param>
|
||||
/// <param name="allTemplates">Спиоск шаблонов для распределения</param>
|
||||
/// <returns></returns>
|
||||
Task<List<TemplateNextRunResultDto>> DistributeTemplatesAsync(DateOnly startDate, int duration, DateTimeOffset referenceDate, List<TemplateNextRunDto> allTemplates);
|
||||
|
||||
Task<List<TemplateNextRunDto>> GetValidNextRunsAsync(List<TemplateNextRunDto> templates, DateOnly startDate, DateOnly endDate, TimeSpan executionTime);
|
||||
|
||||
Task<List<TemplateNextRunDto>> ReassignOutdatedRunsAsync(List<TemplateNextRunDto> templates, DateOnly startDate, DateOnly endDate, TimeSpan executionTime);
|
||||
|
||||
Task<List<TemplateNextRunDto>> RebalanceTemplatesAsync(List<TemplateNextRunDto> templates, DateOnly startDate, DateOnly endDate, TimeSpan executionTime);
|
||||
|
||||
Task<List<TemplateNextRunDto>> ScheduleTemplatesAsync(List<TemplateNextRunDto> templates, DateOnly startDate, DateOnly endDate, TimeSpan executionTime);
|
||||
/// <summary>
|
||||
/// Возвращает актуальную дату выполнения для одного шаблона, учитывая план нагрузки.
|
||||
/// Возвращает обновлённый шаблон с новой датой выполнения.
|
||||
/// </summary>
|
||||
Task<TemplateNextRunResultDto> GetValidNextRunForTemplateAsync(DateOnly startDate, int duration, DateTimeOffset referenceDate, TemplateNextRunDto targetTemplate, List<TemplateNextRunDto> allTemplates);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user