private void ReloadAuxiliaryDataIfExpired() { if (LastAuxiliaryDataLoadTime == null || LastAuxiliaryDataLoadTime < DateTime.UtcNow - _auxiliaryDataRefreshRate) { IndexingUtils.Load(AuxiliaryFiles.Owners, _loader, _logger, _owners); IndexingUtils.Load(AuxiliaryFiles.CuratedFeeds, _loader, _logger, _curatedFeeds); _downloads.Load(AuxiliaryFiles.DownloadsV1, _loader, _logger); _rankings = DownloadRankings.Load(AuxiliaryFiles.RankingsV1, _loader, _logger); _queryBoostingContext = QueryBoostingContext.Load(AuxiliaryFiles.SearchSettingsV1, _loader, _logger); _verifiedPackages = VerifiedPackages.Load(AuxiliaryFiles.VerifiedPackages, _loader, _logger); LastAuxiliaryDataLoadTime = DateTime.UtcNow; AuxiliaryFiles.UpdateLastModifiedTime(); } }
public static IReadOnlyDictionary <string, int> Load(string name, ILoader loader, FrameworkLogger logger) { try { using (JsonReader jsonReader = loader.GetReader(name)) { return(CreateDictionary(jsonReader)); } } catch (Exception e) { if (IndexingUtils.IsFatal(e)) { throw; } logger.LogInformation("Unable to load {0}. Exception Message : {1}", name, e.Message); return(new Dictionary <string, int>()); } }