feat(core): WorkloadCacheService - логика
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
using Microsoft.Extensions.Logging;
|
||||
using PARR.Core.Common.Interfaces;
|
||||
using PARR.Core.Common.Interfaces.RabbitServices;
|
||||
using PARR.Core.Services.Task.Handlers.Factory;
|
||||
using PARR.Core.Services.TaskServices.Handlers.Factory;
|
||||
using PARR.Core.Services.Workload.Interfaces;
|
||||
using PARR.Domain.Common.Rabbit.Messages;
|
||||
using PARR.Domain.Enums;
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
using Microsoft.Extensions.Logging;
|
||||
using InfluxDB.Client.Api.Service;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using PARR.Core.Common.Interfaces;
|
||||
using PARR.Core.Repositories.Interfaces;
|
||||
|
||||
namespace PARR.Core.Services.Workload.Implementations
|
||||
{
|
||||
@@ -10,15 +13,18 @@ namespace PARR.Core.Services.Workload.Implementations
|
||||
{
|
||||
private readonly ILogger<WorkloadCacheService> logger;
|
||||
private readonly IRedisCacheService redisCacheService;
|
||||
private readonly ITemplateRepository templateRepository;
|
||||
|
||||
public WorkloadCacheService(
|
||||
ILogger<WorkloadCacheService> logger,
|
||||
IRedisCacheService redisCacheService
|
||||
IRedisCacheService redisCacheService,
|
||||
ITemplateRepository templateRepository
|
||||
//IShortcodeService
|
||||
)
|
||||
{
|
||||
this.logger = logger;
|
||||
this.redisCacheService = redisCacheService;
|
||||
this.templateRepository = templateRepository;
|
||||
}
|
||||
|
||||
|
||||
@@ -27,11 +33,18 @@ namespace PARR.Core.Services.Workload.Implementations
|
||||
/// КЭШ рабочих групп и зон ответственности
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public async System.Threading.Tasks.Task CreateTemplateCacheAsync()
|
||||
public async Task CreateTemplateCacheAsync()
|
||||
{
|
||||
await DeleteTemplateCacheAsync();
|
||||
await DeleteWorkloadCacheAsync();
|
||||
|
||||
//1. Получить из БД все шаблоны - НЕТ РЕПЫ
|
||||
//1. Получить из БД все шаблоны (тяжелый запрос, тянет вообще все данные, 8 сек)
|
||||
var templates = await templateRepository.Get()
|
||||
.AsNoTracking()
|
||||
.Include(t=>t.Job)
|
||||
.ToListAsync();
|
||||
|
||||
|
||||
//2. Получить по каждому шаблону ЗО и РГ
|
||||
//3. Сохранить в Redis
|
||||
|
||||
@@ -42,11 +55,20 @@ namespace PARR.Core.Services.Workload.Implementations
|
||||
/// Удалить КЭШ шаблонов.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private async System.Threading.Tasks.Task DeleteTemplateCacheAsync()
|
||||
public async Task DeleteTemplateCacheAsync()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Удалить КЭШ отчетов
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public async Task DeleteWorkloadCacheAsync()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user