public void Start(string currentSnapshotPath, ILogger logger)
        {
            var period = PowerShellWorkerConfiguration.GetTimeSpan("MDCurrentSnapshotContentLogPeriod") ?? TimeSpan.FromDays(1);

            _timer = new Timer(
                _ => { _snapshotContentLogger.LogDependencySnapshotContent(currentSnapshotPath, logger); },
                state: null,
                dueTime: period,
                period: period);
        }
        public void Start(string currentlyUsedSnapshot, ILogger logger)
        {
            var period = PowerShellWorkerConfiguration.GetTimeSpan("MDNewSnapshotCheckPeriod") ?? TimeSpan.FromHours(1);

            _timer = new Timer(
                _ => { CheckForNewerDependencySnapshot(currentlyUsedSnapshot, logger); },
                state: null,
                dueTime: period,
                period: period);
        }
 private static int GetMinNumberOfSnapshotsToKeep()
 {
     return(PowerShellWorkerConfiguration.GetInt("MDMinNumberOfSnapshotsToKeep") ?? 1);
 }
 private static TimeSpan GetOldHeartbeatAgeMargin()
 {
     return(PowerShellWorkerConfiguration.GetTimeSpan("MDOldSnapshotHeartbeatMargin") ?? TimeSpan.FromMinutes(90));
 }
 private static TimeSpan GetHeartbeatPeriod()
 {
     return(PowerShellWorkerConfiguration.GetTimeSpan("MDHeartbeatPeriod") ?? TimeSpan.FromMinutes(60));
 }