1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2024-12-12 11:15:43 +02:00

Improve Release Grabbing & Failure Logging

This commit is contained in:
bakerboy448 2024-01-27 11:56:08 -06:00 committed by Mark McDowall
parent 19db75b36b
commit d7aea82e45

View File

@ -196,31 +196,30 @@ private void PreparePending(List<Tuple<DownloadDecision, PendingReleaseReason>>
private async Task<ProcessedDecisionResult> ProcessDecisionInternal(DownloadDecision decision, int? downloadClientId = null)
{
var remoteEpisode = decision.RemoteEpisode;
var remoteIndexer = remoteEpisode.Release.Indexer;
try
{
_logger.Trace("Grabbing from Indexer {0} at priority {1}.", remoteEpisode.Release.Indexer, remoteEpisode.Release.IndexerPriority);
_logger.Trace("Grabbing release '{0}' from Indexer {1} at priority {2}.", remoteEpisode, remoteIndexer, remoteEpisode.Release.IndexerPriority);
await _downloadService.DownloadReport(remoteEpisode, downloadClientId);
return ProcessedDecisionResult.Grabbed;
}
catch (ReleaseUnavailableException)
{
_logger.Warn("Failed to download release from indexer, no longer available. " + remoteEpisode);
_logger.Warn("Failed to download release '{0}' from Indexer {1}. Release not available", remoteEpisode, remoteIndexer);
return ProcessedDecisionResult.Rejected;
}
catch (Exception ex)
{
if (ex is DownloadClientUnavailableException || ex is DownloadClientAuthenticationException)
{
_logger.Debug(ex,
"Failed to send release to download client, storing until later. " + remoteEpisode);
_logger.Debug(ex, "Failed to send release '{0}' from Indexer {1} to download client, storing until later.", remoteEpisode, remoteIndexer);
return ProcessedDecisionResult.Failed;
}
else
{
_logger.Warn(ex, "Couldn't add report to download queue. " + remoteEpisode);
_logger.Warn(ex, "Couldn't add release '{0}' from Indexer {1} to download queue.", remoteEpisode, remoteIndexer);
return ProcessedDecisionResult.Skipped;
}
}