feat(core, dal): WorkloadCacheService - методы для работы с кэшем отчетности workload
This commit is contained in:
@@ -1,18 +1,28 @@
|
||||
using Microsoft.Extensions.Logging;
|
||||
using PARR.Core.Repositories.Interfaces.TaskRepositories;
|
||||
using PARR.Core.Services.Workload.Implementations;
|
||||
using PARR.Domain.Entities.TaskEntities;
|
||||
using PARR.Domain.Enums;
|
||||
|
||||
namespace PARR.Core.Services.TaskServices.Handlers
|
||||
{
|
||||
/// <summary>
|
||||
/// Обработчик задачаи формирования отчета по загруженности (формирование КЭШ).
|
||||
/// Обработчик задачи формирования отчета по загруженности (формирование КЭШ).
|
||||
/// Формируется КЭШ шаблонов с ЗО и РГ
|
||||
/// </summary>
|
||||
public class WorkloadReportHandler : BaseTaskHandler
|
||||
{
|
||||
private readonly WorkloadCacheService workloadCacheService;
|
||||
|
||||
public WorkloadReportHandler(ITaskRepository taskRepository, ITaskErrorRepository taskErrorRepository, ILogger<WorkloadReportHandler> logger)
|
||||
: base(taskRepository, taskErrorRepository, logger) { }
|
||||
public WorkloadReportHandler(
|
||||
ITaskRepository taskRepository,
|
||||
ITaskErrorRepository taskErrorRepository,
|
||||
ILogger<WorkloadReportHandler> logger,
|
||||
WorkloadCacheService workloadCacheService)
|
||||
: base(taskRepository, taskErrorRepository, logger)
|
||||
{
|
||||
this.workloadCacheService = workloadCacheService;
|
||||
}
|
||||
|
||||
public override TaskTypeEnum SupportedType => TaskTypeEnum.Workload;
|
||||
|
||||
@@ -25,15 +35,23 @@ namespace PARR.Core.Services.TaskServices.Handlers
|
||||
// ? new ReportPayload()
|
||||
// : JsonSerializer.Deserialize<ReportPayload>(task.Payload);
|
||||
|
||||
//todo: тут логика построения отчета
|
||||
// тут логика построения отчета
|
||||
|
||||
|
||||
await workloadCacheService.DeleteWorkloadCacheAsync();
|
||||
await workloadCacheService.DeleteTemplateCacheAsync();
|
||||
await workloadCacheService.CreateTemplateCacheAsync();
|
||||
|
||||
await System.Threading.Tasks.Task.CompletedTask;
|
||||
//await System.Threading.Tasks.Task.CompletedTask;
|
||||
|
||||
// return HandlerResult.Success();
|
||||
return HandlerResult.Success();
|
||||
|
||||
return HandlerResult.Failure("Тут капец какая ошибка! Просто жуть", new Exception("А это я создал эксепшен!!!"));
|
||||
//return HandlerResult.Failure("Тут капец какая ошибка! Просто жуть", new Exception("А это я создал эксепшен!!!"));
|
||||
}
|
||||
|
||||
protected override Task OnSuccessAsync(TaskItem task, HandlerResult result)
|
||||
{
|
||||
// Пример хука: отправка уведомления после успеха
|
||||
return base.OnSuccessAsync(task, result);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user