namespace PARR.Core.Services.Snapshots.Interfaces
{
///
/// Настройки снапшотов
///
public interface ISnapshotSettings
{
///
/// Интервал создания снапшотов для таблицы RobotConfiguration
///
TimeSpan RobotConfigurationSnapshotInterval { get; }
///
/// Длительность хранения снапшотов для RobotConfiguration в таблице ConfigurationShapshots
///
TimeSpan RobotConfigurationSnapshotRetentionPeriod { get; }
///
/// Длительность хранения снапшотов работы роботов в таблице Shapshots
///
TimeSpan RobotSnapshotRetentionPeriod { get; }
}
///
/// Настройки по умолчанию для ISnapshotSettings
///
internal record DefaultSnapshotSettings : ISnapshotSettings
{
public TimeSpan RobotConfigurationSnapshotInterval => TimeSpan.FromMinutes(2);
public TimeSpan RobotConfigurationSnapshotRetentionPeriod => TimeSpan.FromDays(60);
public TimeSpan RobotSnapshotRetentionPeriod => TimeSpan.FromDays(60);
}
}