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); } }