feat(core): Заготовка WorkloadCacheService

This commit is contained in:
Mikhail Trubnikov
2026-04-29 14:27:02 +10:00
parent ee119caf91
commit 7ddc8b1bed
2 changed files with 56 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
using Microsoft.Extensions.Logging;
using PARR.Core.Common.Interfaces;
namespace PARR.Core.Services.Workload.Implementations
{
/// <summary>
/// Класс управления КЭШем для workload
/// </summary>
internal class WorkloadCacheService
{
private readonly ILogger<WorkloadCacheService> logger;
private readonly IRedisCacheService redisCacheService;
public WorkloadCacheService(
ILogger<WorkloadCacheService> logger,
IRedisCacheService redisCacheService
//IShortcodeService
)
{
this.logger = logger;
this.redisCacheService = redisCacheService;
}
/// <summary>
/// Создать КЭШ шаблонов.
/// КЭШ рабочих групп и зон ответственности
/// </summary>
/// <returns></returns>
public async System.Threading.Tasks.Task CreateTemplateCacheAsync()
{
await DeleteTemplateCacheAsync();
//1. Получить из БД все шаблоны - НЕТ РЕПЫ
//2. Получить по каждому шаблону ЗО и РГ
//3. Сохранить в Redis
//redisCacheService
}
/// <summary>
/// Удалить КЭШ шаблонов.
/// </summary>
/// <returns></returns>
private async System.Threading.Tasks.Task DeleteTemplateCacheAsync()
{
}
}
}

View File

@@ -2,6 +2,9 @@
namespace PARR.Core.Services.Workload.Interfaces
{
/// <summary>
/// Вызывается в воркере, формирование КЭШ для workload
/// </summary>
public interface IWorkloadCacheBuilderService : IMessageConsumer
{