Files
Orchard/src/Orchard.Web/Modules/Orchard.Indexing/Services/IndexingBackgroundTask.cs
Sebastien Ros 2015448c44 Managing multiple indexes
--HG--
branch : 1.x
extra : rebase_source : 930ebcb3cc0c50b45beac39a81658ace562c8e04
2013-03-04 16:00:55 -08:00

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);
}
}
}
}