mirror of
https://github.com/Readarr/Readarr.git
synced 2026-04-22 22:14:44 -04:00
New: Automatic search for missing episodes if RSS Sync hasn't been run recently
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
using System.Linq;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using NLog;
|
||||
using NzbDrone.Core.DecisionEngine;
|
||||
using NzbDrone.Core.Download;
|
||||
using NzbDrone.Core.IndexerSearch;
|
||||
using NzbDrone.Core.Instrumentation.Extensions;
|
||||
using NzbDrone.Core.Messaging.Commands;
|
||||
|
||||
@@ -17,16 +19,19 @@ namespace NzbDrone.Core.Indexers
|
||||
private readonly IFetchAndParseRss _rssFetcherAndParser;
|
||||
private readonly IMakeDownloadDecision _downloadDecisionMaker;
|
||||
private readonly IDownloadApprovedReports _downloadApprovedReports;
|
||||
private readonly IEpisodeSearchService _episodeSearchService;
|
||||
private readonly Logger _logger;
|
||||
|
||||
public RssSyncService(IFetchAndParseRss rssFetcherAndParser,
|
||||
IMakeDownloadDecision downloadDecisionMaker,
|
||||
IDownloadApprovedReports downloadApprovedReports,
|
||||
IEpisodeSearchService episodeSearchService,
|
||||
Logger logger)
|
||||
{
|
||||
_rssFetcherAndParser = rssFetcherAndParser;
|
||||
_downloadDecisionMaker = downloadDecisionMaker;
|
||||
_downloadApprovedReports = downloadApprovedReports;
|
||||
_episodeSearchService = episodeSearchService;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
@@ -45,6 +50,12 @@ namespace NzbDrone.Core.Indexers
|
||||
public void Execute(RssSyncCommand message)
|
||||
{
|
||||
Sync();
|
||||
|
||||
if (message.LastExecutionTime.HasValue && DateTime.UtcNow.Subtract(message.LastExecutionTime.Value).TotalHours > 3)
|
||||
{
|
||||
_logger.Info("RSS Sync hasn't run since: {0}. Searching for any missing episodes since then.", message.LastExecutionTime.Value);
|
||||
_episodeSearchService.MissingEpisodesAiredAfter(message.LastExecutionTime.Value.AddDays(-1));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user