feat(core,dal,domain,snapshotWorker): Воркер по управлению снапшотами. Создание сгапшотов для таблицы RobotConfigurations
This commit is contained in:
31
PARR.Core/Services/Snapshots/Interfaces/ISnapshotProvider.cs
Normal file
31
PARR.Core/Services/Snapshots/Interfaces/ISnapshotProvider.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
namespace PARR.Core.Services.Snapshots.Interfaces
|
||||
{
|
||||
/// <summary>
|
||||
/// Общий снапшот провайдер.
|
||||
/// Используется для реализации паттерна "Стратегия"
|
||||
/// </summary>
|
||||
public interface ISnapshotProvider
|
||||
{
|
||||
/// <summary>
|
||||
/// Периодичность создания снапшота (не меньше 1 минуты).
|
||||
/// </summary>
|
||||
TimeSpan Interval { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Срок хранения снапшотов (например, 30 дней). Всё, что старше — удаляется.
|
||||
/// </summary>
|
||||
TimeSpan RetentionPeriod { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Метод сбора метрик и записи их в базу данных.
|
||||
/// </summary>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
Task TakeSnapshotAsync(CancellationToken cancellationToken);
|
||||
|
||||
/// <summary>
|
||||
/// Метод очистки устаревших снапшотов.
|
||||
/// </summary>
|
||||
Task CleanUpOldSnapshotsAsync(CancellationToken cancellationToken);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user