public ScheduledJobsRunnerModule(ISettingsService <PlexRequestSettings> settingsService, ISecurityExtensions security, IPlexContentCacher contentCacher, ISonarrCacher sonarrCacher, IWatcherCacher watcherCacher, IRadarrCacher radarrCacher, ICouchPotatoCacher cpCacher, IStoreBackup store, ISickRageCacher srCacher, IAvailabilityChecker plexChceker, IStoreCleanup cleanup, IUserRequestLimitResetter requestLimit, IPlexEpisodeCacher episodeCacher, IRecentlyAdded recentlyAdded, IFaultQueueHandler faultQueueHandler, IPlexUserChecker plexUserChecker) : base("admin", settingsService, security) { Before += (ctx) => Security.AdminLoginRedirect(Permissions.Administrator, ctx); PlexContentCacher = contentCacher; SonarrCacher = sonarrCacher; RadarrCacher = radarrCacher; WatcherCacher = watcherCacher; CpCacher = cpCacher; StoreBackup = store; SrCacher = srCacher; AvailabilityChecker = plexChceker; StoreCleanup = cleanup; RequestLimit = requestLimit; EpisodeCacher = episodeCacher; RecentlyAdded = recentlyAdded; FaultQueueHandler = faultQueueHandler; PlexUserChecker = plexUserChecker; Post["/schedulerun", true] = async(x, ct) => await ScheduleRun((string)Request.Form.key); }
public void ApplyBackup(IStoreBackup backupToApply, RestoreStrategy strategy = RestoreStrategy.Overwrite, IKVLogger logger = null) { lock (GetLockObject()) { foreach (var row in backupToApply) { this[row.Key] = new MemoryStorageRow(row); } } }
public void ApplyBackup(IStoreBackup backupToApply, RestoreStrategy strategy = RestoreStrategy.Overwrite, IKVLogger logger = null) { var localLogger = logger ?? new NullLogger(); if (_provider is IExportableStore) { (_provider as IExportableStore).ApplyBackup(backupToApply, strategy, localLogger); } else { foreach (var item in backupToApply) { if (strategy == RestoreStrategy.Overwrite) { _Set(item, localLogger); } else if (strategy == RestoreStrategy.KeepExisting) { var value = _provider.Get(item.Key); if (string.IsNullOrEmpty(value)) { _Set(item, localLogger); } } else if (strategy == RestoreStrategy.UseLatest) { DateTime?expiry = null; try { expiry = _provider.ExpiresOn(item.Key); } catch (NotImplementedException) { } if (expiry != null && item.Expiry == null) { _Set(item, localLogger); } if (expiry != null && item.Expiry != null && item.Expiry > expiry) { _Set(item, localLogger); } } } } }
public void ApplyBackup(IStoreBackup backupToApply, RestoreStrategy strategy = RestoreStrategy.Overwrite, IKVLogger logger = null) { _memoryBackingStore.ApplyBackup(backupToApply, strategy, logger); }