public async Task Sample() { using (var documentStore = new DocumentStore()) { #region refresh_0 var refreshConfig = new RefreshConfiguration { Disabled = false, RefreshFrequencyInSec = 300 }; var result = documentStore.Maintenance.Send(new ConfigureRefreshOperation(refreshConfig)); #endregion #region refresh_1 using (var session = documentStore.OpenSession()) { var document = session.Load <object>("users/1-A"); session.Advanced.GetMetadataFor(document)["@refresh"] = DateTime.UtcNow.AddHours(1); session.SaveChanges(); } #endregion } }
private ExpiredDocumentsCleaner(DocumentDatabase database, ExpirationConfiguration expirationConfiguration, RefreshConfiguration refreshConfiguration) : base(database.Name, database.DatabaseShutdown) { ExpirationConfiguration = expirationConfiguration; RefreshConfiguration = refreshConfiguration; _database = database; _expirationPeriod = TimeSpan.FromSeconds(ExpirationConfiguration?.DeleteFrequencyInSec ?? 60); _refreshPeriod = TimeSpan.FromSeconds(RefreshConfiguration?.RefreshFrequencyInSec ?? 60); }
private async Task SetupRefresh(DocumentStore store) { var config = new RefreshConfiguration { Disabled = false, RefreshFrequencyInSec = 100, }; var result = await store.Maintenance.SendAsync(new ConfigureRefreshOperation(config)); await Server.ServerStore.Cluster.WaitForIndexNotification(result.RaftCommandIndex ?? 1, TimeSpan.FromMinutes(1)); }
private async Task <bool> DisableRefresh(IDocumentStore store) { var config = new RefreshConfiguration { Disabled = true, RefreshFrequencyInSec = 100, }; await RefreshHelper.SetupExpiration(store, Server.ServerStore, config); var database = await Databases.GetDocumentDatabaseInstanceFor(store); return(database.ExpiredDocumentsCleaner != null); }
public EditRefreshCommand(RefreshConfiguration configuration, string databaseName, string uniqueRequestId) : base(databaseName, uniqueRequestId) { Configuration = configuration; }
public static async Task SetupExpiration(IDocumentStore store, Raven.Server.ServerWide.ServerStore serverStore, RefreshConfiguration configuration) { if (store == null) { throw new ArgumentNullException(nameof(store)); } if (serverStore == null) { throw new ArgumentNullException(nameof(serverStore)); } if (configuration == null) { throw new ArgumentNullException(nameof(configuration)); } var result = await store.Maintenance.SendAsync(new ConfigureRefreshOperation(configuration)); var documentDatabase = await serverStore.DatabasesLandlord.TryGetOrCreateResourceStore(store.Database); await documentDatabase.RachisLogIndexNotifications.WaitForIndexNotification(result.RaftCommandIndex.Value, serverStore.Engine.OperationTimeout); }