本文整理汇总了C#中DocumentDatabase.RunIdleOperations方法的典型用法代码示例。如果您正苦于以下问题:C# DocumentDatabase.RunIdleOperations方法的具体用法?C# DocumentDatabase.RunIdleOperations怎么用?C# DocumentDatabase.RunIdleOperations使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DocumentDatabase
的用法示例。
在下文中一共展示了DocumentDatabase.RunIdleOperations方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ShouldNotSetAutoIndexesToAbandonedPriorityAfterDatabaseRecovery
public void ShouldNotSetAutoIndexesToAbandonedPriorityAfterDatabaseRecovery()
{
using (var db = new DocumentDatabase(new RavenConfiguration
{
DataDirectory = DataDir,
RunInUnreliableYetFastModeThatIsNotSuitableForProduction = false
}))
{
db.SpinBackgroundWorkers();
db.Indexes.PutIndex(new RavenDocumentsByEntityName().IndexName, new RavenDocumentsByEntityName().CreateIndexDefinition());
db.Documents.Put("users/1", null, RavenJObject.Parse("{'Name':'Arek'}"), RavenJObject.Parse("{'Raven-Entity-Name':'Users'}"), null);
db.Documents.Put("users/2", null, RavenJObject.Parse("{'Name':'David'}"), RavenJObject.Parse("{'Raven-Entity-Name':'Users'}"), null);
var results = db.ExecuteDynamicQuery("Users", new IndexQuery()
{
PageSize = 128,
Start = 0,
Cutoff = SystemTime.UtcNow,
Query = "Name:Arek"
}, CancellationToken.None);
WaitForIndexing(db);
var autoIdexes = db.Statistics.Indexes.Where(x => x.Name.StartsWith("Auto")).ToList();
Assert.True(autoIdexes.Count > 0);
autoIdexes.ForEach(x => db.TransactionalStorage.Batch(accessor => accessor.Indexing.SetIndexPriority(x.Id, IndexingPriority.Idle)));
db.Maintenance.StartBackup(BackupDir, false, new DatabaseDocument());
WaitForBackup(db, true);
}
IOExtensions.DeleteDirectory(DataDir);
MaintenanceActions.Restore(new RavenConfiguration(), new RestoreRequest
{
BackupLocation = BackupDir,
DatabaseLocation = DataDir,
Defrag = true
},s => { });
using (var db = new DocumentDatabase(new RavenConfiguration
{
DataDirectory = DataDir,
RunInUnreliableYetFastModeThatIsNotSuitableForProduction = false,
}))
{
db.SpinBackgroundWorkers();
db.RunIdleOperations();
var autoIndexes = db.Statistics.Indexes.Where(x => x.Name.StartsWith("Auto")).ToList();
Assert.True(autoIndexes.Count > 0);
foreach (var indexStats in autoIndexes)
{
Assert.NotEqual(indexStats.Priority, IndexingPriority.Abandoned);
}
}
}