feat(api,core,dal): RobotTasks - вынесение логики в Core, оптимизация взятия задания роботом

This commit is contained in:
Mikhail Trubnikov
2026-05-25 16:59:42 +10:00
parent 146e8f6f9a
commit ab563f88b9
8 changed files with 595 additions and 276 deletions

View File

@@ -26,7 +26,7 @@ namespace PARR.Core.Repositories.Interfaces
/// <param name="robotAttemptsNumber"></param>
/// <param name="robotWaitTime"></param>
/// <returns></returns>
Task FindUnfulfilledTaskAndSetRobotErrorStatusAsync(int robotAttemptsNumber, TimeSpan robotWaitTime);
Task MarkExpiredTasksAsFailedAsync(int robotAttemptsNumber, TimeSpan robotWaitTime);
/// <summary>
/// Получить конфигурацию из шаблона по RobotCode. У шаблона обязательно должен быть Include таблицы RobotConfiguration
@@ -42,5 +42,12 @@ namespace PARR.Core.Repositories.Interfaces
/// <param name="configuration"></param>
/// <returns>true - если изменил статус, false - нельзя изменить статус</returns>
bool SetUpdateTaskStatusIfAllow(RobotConfiguration configuration);
/// <summary>
/// Атомарно установить статус задачи "В работе" если текущий статус "В ожидании".
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<bool> SetInProgressStatusAsync(Guid id);
}
}