private static bool TryInitialize(ConfigElementList <SearchIndexStartupElement> indexes, out WarmupParameters parameters) { parameters = null; if (!(indexes?.Count > 0)) { return(false); } var publishingManager = PublishingManager.GetManager(PublishingConfig.SearchProviderName); if (publishingManager == null) { return(false); } var searchService = ServiceBus.ResolveService <ISearchService>(); if (searchService == null) { return(false); } parameters = new WarmupParameters { PublishingAdminService = new PublishingAdminService(), PublishingManager = publishingManager, SearchService = searchService, Indexes = ((IList <SearchIndexStartupElement>)indexes).OrderBy(i => i.WithBackgroundIndexing), WorkerDelegate = new SystemManager.RunWithElevatedPrivilegeDelegate(DoWarmup) }; return(true); }
public WarmupBackgroundTask(PublishingPoint publishingPoint, WarmupParameters warmupParameters) { _publishingPoint = publishingPoint ?? throw new ArgumentException("publishingPoint"); _warmupParameters = warmupParameters ?? throw new ArgumentException("warmupParameters"); }