feat(api, core, dal, domain): В таблицу Tasks добавлено поле процент выполнения, так же добавлено это поле в response - статус формирования отчета. Создан интерфейс для отслеживания прогресса IProgressAsync. Из сервиса WorkloadService исключен ITaskManagementService.
This commit is contained in:
@@ -3,6 +3,7 @@ using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using PARR.Core.Common.Interfaces.RabbitServices;
|
||||
using PARR.Core.Repositories.Interfaces.TaskRepositories;
|
||||
using PARR.Core.Services.TaskServices.Helpers;
|
||||
using PARR.Core.Services.TaskServices.Interfaces;
|
||||
using PARR.Domain.Common.Rabbit.Messages;
|
||||
using PARR.Domain.DTOs.TaskDTO;
|
||||
@@ -112,18 +113,20 @@ namespace PARR.Core.Services.TaskServices.Implementations
|
||||
|
||||
public async Task<List<ActiveTask>> GetActiveTasksAsync(TaskTypeEnum? typeCode = null)
|
||||
{
|
||||
var query = taskRepository.Get()
|
||||
.AsNoTracking()
|
||||
.Include(t => t.TaskStatus)
|
||||
.Include(t => t.TaskType)
|
||||
.Where(t => t.StatusCode == TaskItemStatusEnum.Pending || t.StatusCode == TaskItemStatusEnum.Processing);
|
||||
//var query = taskRepository.Get()
|
||||
// .AsNoTracking()
|
||||
// .Include(t => t.TaskStatus)
|
||||
// .Include(t => t.TaskType)
|
||||
// .Where(t => t.StatusCode == TaskItemStatusEnum.Pending || t.StatusCode == TaskItemStatusEnum.Processing);
|
||||
|
||||
if (typeCode.HasValue)
|
||||
query = query.Where(t => t.TypeCode == typeCode.Value);
|
||||
//if (typeCode.HasValue)
|
||||
// query = query.Where(t => t.TypeCode == typeCode.Value);
|
||||
|
||||
var tasks = await query.OrderByDescending(t => t.DateCreated).ToListAsync();
|
||||
//var tasks = await query.OrderByDescending(t => t.DateCreated).ToListAsync();
|
||||
|
||||
return mapper.Map<List<ActiveTask>>(tasks);
|
||||
//return mapper.Map<List<ActiveTask>>(tasks);
|
||||
|
||||
return await TaskManagementHelpers.GetActiveTasksAsync(taskRepository, mapper, typeCode);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -177,6 +177,7 @@ namespace PARR.Core.Services.TaskServices.Implementations
|
||||
|
||||
task.RetryCount++;
|
||||
task.DateModified = DateTimeOffset.UtcNow;
|
||||
task.ProgressPercent = 0;
|
||||
|
||||
await taskRepository.CommitAsync();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user