mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
#20960: Fixing infinite loop when creating index tasks
Work Item: 20960
This commit is contained in:
@@ -12,6 +12,8 @@ namespace Orchard.Indexing.Settings {
|
||||
private readonly IIndexingTaskManager _indexingTaskManager;
|
||||
private readonly IContentManager _contentManager;
|
||||
|
||||
private const int PageSize = 50;
|
||||
|
||||
public EditorEvents(IIndexingTaskManager indexingTaskManager, IContentManager contentManager){
|
||||
_indexingTaskManager = indexingTaskManager;
|
||||
_contentManager = contentManager;
|
||||
@@ -70,13 +72,15 @@ namespace Orchard.Indexing.Settings {
|
||||
|
||||
do {
|
||||
contentItemProcessed = false;
|
||||
var contentItemsToIndex = _contentManager.Query(VersionOptions.Published, new [] { type }).Slice(index, 50);
|
||||
var contentItemsToIndex = _contentManager.Query(VersionOptions.Published, new [] { type }).Slice(index, PageSize);
|
||||
|
||||
foreach (var contentItem in contentItemsToIndex) {
|
||||
contentItemProcessed = true;
|
||||
_indexingTaskManager.CreateUpdateIndexTask(contentItem);
|
||||
}
|
||||
|
||||
index += PageSize;
|
||||
|
||||
} while (contentItemProcessed);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user