mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-21 03:14:10 +08:00
35 lines
1.0 KiB
C#
35 lines
1.0 KiB
C#
using JetBrains.Annotations;
|
|
using Orchard.Logging;
|
|
using Orchard.Tasks;
|
|
|
|
namespace Orchard.Indexing.Services {
|
|
/// <summary>
|
|
/// Regularly fires IIndexNotifierHandler events
|
|
/// </summary>
|
|
[UsedImplicitly]
|
|
public class IndexingBackgroundTask : IBackgroundTask {
|
|
private readonly IIndexNotifierHandler _indexNotifierHandler;
|
|
private readonly IIndexManager _indexManager;
|
|
|
|
public IndexingBackgroundTask(
|
|
IIndexNotifierHandler indexNotifierHandler,
|
|
IIndexManager indexManager) {
|
|
_indexNotifierHandler = indexNotifierHandler;
|
|
_indexManager = indexManager;
|
|
Logger = NullLogger.Instance;
|
|
}
|
|
|
|
public ILogger Logger { get; set; }
|
|
|
|
public void Sweep() {
|
|
if (!_indexManager.HasIndexProvider()) {
|
|
return;
|
|
}
|
|
|
|
foreach (var index in _indexManager.GetSearchIndexProvider().List()) {
|
|
_indexNotifierHandler.UpdateIndex(index);
|
|
}
|
|
}
|
|
}
|
|
}
|