public override HealthCheck Check() { var enabled = _indexerFactory.RssEnabled(false); if (enabled.Empty()) { return(new HealthCheck(GetType(), HealthCheckResult.Error, "No indexers available with RSS sync enabled, Sonarr will not grab new releases automatically")); } var active = _indexerFactory.RssEnabled(true); if (active.Empty()) { return(new HealthCheck(GetType(), HealthCheckResult.Warning, "All rss-capable indexers are temporarily unavailable due to recent indexer errors")); } return(new HealthCheck(GetType())); }
public override HealthCheck Check() { var enabled = _indexerFactory.RssEnabled(false); if (enabled.Empty()) { return(new HealthCheck(GetType(), HealthCheckResult.Error, _localizationService.GetLocalizedString("IndexerRssHealthCheckNoIndexers"), "#no-indexers-available-with-rss-sync-enabled-radarr-will-not-grab-new-releases-automatically")); } var active = _indexerFactory.RssEnabled(true); if (active.Empty()) { return(new HealthCheck(GetType(), HealthCheckResult.Warning, _localizationService.GetLocalizedString("IndexerRssHealthCheckNoAvailableIndexers"), "#indexers-are-unavailable-due-to-failures")); } return(new HealthCheck(GetType())); }
public override HealthCheck Check() { var enabled = _indexerFactory.RssEnabled(false); if (enabled.Empty()) { return(new HealthCheck(GetType(), HealthCheckResult.Error, _localizationService.GetLocalizedString("IndexerRssHealthCheckNoIndexers"), "#no_indexers_available_with_rss_sync_enabled_radarr_will_not_grab_new_releases_automatically")); } var active = _indexerFactory.RssEnabled(true); if (active.Empty()) { return(new HealthCheck(GetType(), HealthCheckResult.Warning, _localizationService.GetLocalizedString("IndexerRssHealthCheckNoAvailableIndexers"), "#indexers_are_unavailable_due_to_failures")); } return(new HealthCheck(GetType())); }
public List <ReleaseInfo> Fetch() { var result = new List <ReleaseInfo>(); var indexers = _indexerFactory.RssEnabled(); if (!indexers.Any()) { _logger.Warn("No available indexers. check your configuration."); return(result); } _logger.Debug("Available indexers {0}", indexers.Count); var taskList = new List <Task>(); var taskFactory = new TaskFactory(TaskCreationOptions.LongRunning, TaskContinuationOptions.None); foreach (var indexer in indexers) { var indexerLocal = indexer; var task = taskFactory.StartNew(() => { try { var indexerReports = indexerLocal.FetchRecent(); lock (result) { _logger.Debug("Found {0} from {1}", indexerReports.Count, indexer.Name); result.AddRange(indexerReports); } } catch (Exception e) { _logger.Error(e, "Error during RSS Sync"); } }).LogExceptions(); taskList.Add(task); } Task.WaitAll(taskList.ToArray()); _logger.Debug("Found {0} reports", result.Count); return(result); }
public List <ReleaseInfo> Fetch() { var result = new List <ReleaseInfo>(); var indexers = _indexerFactory.RssEnabled().ToList(); if (!indexers.Any()) { _logger.Warn("No available indexers. check your configuration."); return(result); } _logger.Debug("Available indexers {0}", indexers.Count); var taskList = new List <Task>(); var taskFactory = new TaskFactory(TaskCreationOptions.LongRunning, TaskContinuationOptions.None); foreach (var indexer in indexers) { var indexerLocal = indexer; var task = taskFactory.StartNew(() => { var indexerFeed = _feedFetcher.FetchRss(indexerLocal); lock (result) { result.AddRange(indexerFeed); } }).LogExceptions(); taskList.Add(task); } Task.WaitAll(taskList.ToArray()); _logger.Debug("Found {0} reports", result.Count); return(result); }