public DatabaseServerRegistrarAndMessengerComponent(IRuntimeState runtime, IServerRegistrar serverRegistrar, IServerMessenger serverMessenger, IServerRegistrationService registrationService, ILogger logger, IndexRebuilder indexRebuilder) { _runtime = runtime; _logger = logger; _registrationService = registrationService; _indexRebuilder = indexRebuilder; // create task runner for DatabaseServerRegistrar _registrar = serverRegistrar as DatabaseServerRegistrar; if (_registrar != null) { _touchTaskRunner = new BackgroundTaskRunner <IBackgroundTask>("ServerRegistration", new BackgroundTaskRunnerOptions { AutoStart = true }, logger); } // create task runner for BatchedDatabaseServerMessenger _messenger = serverMessenger as BatchedDatabaseServerMessenger; if (_messenger != null) { _processTaskRunner = new BackgroundTaskRunner <IBackgroundTask>("ServerInstProcess", new BackgroundTaskRunnerOptions { AutoStart = true }, logger); } }
public DatabaseServerRegistrarAndMessengerComponent(IRuntimeState runtime, IServerRegistrar serverRegistrar, IServerMessenger serverMessenger, IServerRegistrationService registrationService, ILogger logger, IndexRebuilder indexRebuilder) { _registrar = serverRegistrar as DatabaseServerRegistrar; if (_registrar == null) { throw new Exception("panic: registar."); } _messenger = serverMessenger as BatchedDatabaseServerMessenger; if (_messenger == null) { throw new Exception("panic: messenger"); } _runtime = runtime; _logger = logger; _registrationService = registrationService; _indexRebuilder = indexRebuilder; _touchTaskRunner = new BackgroundTaskRunner <IBackgroundTask>("ServerRegistration", new BackgroundTaskRunnerOptions { AutoStart = true }, logger); _processTaskRunner = new BackgroundTaskRunner <IBackgroundTask>("ServerInstProcess", new BackgroundTaskRunnerOptions { AutoStart = true }, logger); }
public RebuildOnStartupTask(IndexRebuilder indexRebuilder, ILogger logger, bool onlyEmptyIndexes, int waitMilliseconds = 0) { _indexRebuilder = indexRebuilder ?? throw new ArgumentNullException(nameof(indexRebuilder)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _onlyEmptyIndexes = onlyEmptyIndexes; _waitMilliseconds = waitMilliseconds; }
public ExamineManagementController(IExamineManager examineManager, ILogger logger, AppCaches appCaches, IndexRebuilder indexRebuilder) { _examineManager = examineManager; _logger = logger; _runtimeCache = appCaches.RuntimeCache; _indexRebuilder = indexRebuilder; }
public ExamineManagementController(IExamineManager examineManager, ILogger logger, IRuntimeCacheProvider runtimeCacheProvider, IndexRebuilder indexRebuilder) { _examineManager = examineManager; _logger = logger; _runtimeCacheProvider = runtimeCacheProvider; _indexRebuilder = indexRebuilder; }
public static void ResumeIndexers(IndexRebuilder indexRebuilder, ILogger logger) { _suspended = false; logger.Info(typeof(ExamineEvents), "Resume indexers (rebuild:{Tried}).", _tried); if (_tried == false) { return; } _tried = false; //TODO: when resuming do we always want a full rebuild of all indexes? ExamineComponent.RebuildIndexes(indexRebuilder, logger, false); }
public IndexController(ICacheService cacheService, ILogger logger, IConfig fullTextConfig, IExamineManager examineManager, IndexRebuilder indexRebuilder, IPublishedContentValueSetBuilder valueSetBuilder, IContentService contentService) { _cacheService = cacheService; _fullTextConfig = fullTextConfig; _logger = logger; _valueSetBuilder = valueSetBuilder; _examineManager = examineManager; _contentService = contentService; _indexRebuilder = indexRebuilder; }
public ExamineComponent(IMainDom mainDom, IExamineManager examineManager, IProfilingLogger profilingLogger, IScopeProvider scopeProvider, IUmbracoIndexesCreator indexCreator, IndexRebuilder indexRebuilder, ServiceContext services, IContentValueSetBuilder contentValueSetBuilder, IPublishedContentValueSetBuilder publishedContentValueSetBuilder, IValueSetBuilder <IMedia> mediaValueSetBuilder, IValueSetBuilder <IMember> memberValueSetBuilder) { _services = services; _scopeProvider = scopeProvider; _examineManager = examineManager; _contentValueSetBuilder = contentValueSetBuilder; _publishedContentValueSetBuilder = publishedContentValueSetBuilder; _mediaValueSetBuilder = mediaValueSetBuilder; _memberValueSetBuilder = memberValueSetBuilder; _mainDom = mainDom; _logger = profilingLogger; _indexCreator = indexCreator; _indexRebuilder = indexRebuilder; }
/// <summary> /// Called to rebuild empty indexes on startup /// </summary> /// <param name="indexRebuilder"></param> /// <param name="logger"></param> /// <param name="onlyEmptyIndexes"></param> /// <param name="waitMilliseconds"></param> public static void RebuildIndexes(IndexRebuilder indexRebuilder, ILogger logger, bool onlyEmptyIndexes, int waitMilliseconds = 0) { // TODO: need a way to disable rebuilding on startup lock (RebuildLocker) { if (_rebuildOnStartupRunner != null && _rebuildOnStartupRunner.IsRunning) { logger.Warn <ExamineComponent>("Call was made to RebuildIndexes but the task runner for rebuilding is already running"); return; } logger.Info <ExamineComponent>("Starting initialize async background thread."); //do the rebuild on a managed background thread var task = new RebuildOnStartupTask(indexRebuilder, logger, onlyEmptyIndexes, waitMilliseconds); _rebuildOnStartupRunner = new BackgroundTaskRunner <IBackgroundTask>( "RebuildIndexesOnStartup", logger); _rebuildOnStartupRunner.TryAdd(task); } }
public static void RebuildIndexes(IndexRebuilder indexRebuilder, ILogger logger, bool onlyEmptyIndexes, int waitMilliseconds = 0) => Current.Factory.GetInstance <BackgroundIndexRebuilder>().RebuildIndexes(onlyEmptyIndexes, waitMilliseconds);
public BackgroundIndexRebuilder(IMainDom mainDom, IProfilingLogger logger, IndexRebuilder indexRebuilder) { _mainDom = mainDom; _logger = logger; _indexRebuilder = indexRebuilder; }