mirror of
https://github.com/Radarr/Radarr.git
synced 2024-11-04 10:02:40 +01:00
Allow DownloadMonitoring to report client status
This commit is contained in:
parent
91ed949a47
commit
cb97f90b9e
@ -18,7 +18,8 @@ public class DownloadMonitoringService : IExecute<RefreshMonitoredDownloadsComma
|
||||
IHandle<DownloadsProcessedEvent>,
|
||||
IHandle<TrackedDownloadsRemovedEvent>
|
||||
{
|
||||
private readonly IProvideDownloadClient _downloadClientProvider;
|
||||
private readonly IDownloadClientStatusService _downloadClientStatusService;
|
||||
private readonly IDownloadClientFactory _downloadClientFactory;
|
||||
private readonly IEventAggregator _eventAggregator;
|
||||
private readonly IManageCommandQueue _manageCommandQueue;
|
||||
private readonly IConfigService _configService;
|
||||
@ -28,16 +29,18 @@ public class DownloadMonitoringService : IExecute<RefreshMonitoredDownloadsComma
|
||||
private readonly Logger _logger;
|
||||
private readonly Debouncer _refreshDebounce;
|
||||
|
||||
public DownloadMonitoringService(IProvideDownloadClient downloadClientProvider,
|
||||
IEventAggregator eventAggregator,
|
||||
IManageCommandQueue manageCommandQueue,
|
||||
IConfigService configService,
|
||||
IFailedDownloadService failedDownloadService,
|
||||
ICompletedDownloadService completedDownloadService,
|
||||
ITrackedDownloadService trackedDownloadService,
|
||||
Logger logger)
|
||||
public DownloadMonitoringService(IDownloadClientStatusService downloadClientStatusService,
|
||||
IDownloadClientFactory downloadClientFactory,
|
||||
IEventAggregator eventAggregator,
|
||||
IManageCommandQueue manageCommandQueue,
|
||||
IConfigService configService,
|
||||
IFailedDownloadService failedDownloadService,
|
||||
ICompletedDownloadService completedDownloadService,
|
||||
ITrackedDownloadService trackedDownloadService,
|
||||
Logger logger)
|
||||
{
|
||||
_downloadClientProvider = downloadClientProvider;
|
||||
_downloadClientStatusService = downloadClientStatusService;
|
||||
_downloadClientFactory = downloadClientFactory;
|
||||
_eventAggregator = eventAggregator;
|
||||
_manageCommandQueue = manageCommandQueue;
|
||||
_configService = configService;
|
||||
@ -59,7 +62,7 @@ private void Refresh()
|
||||
_refreshDebounce.Pause();
|
||||
try
|
||||
{
|
||||
var downloadClients = _downloadClientProvider.GetDownloadClients();
|
||||
var downloadClients = _downloadClientFactory.DownloadHandlingEnabled();
|
||||
|
||||
var trackedDownloads = new List<TrackedDownload>();
|
||||
|
||||
@ -88,9 +91,13 @@ private List<TrackedDownload> ProcessClientDownloads(IDownloadClient downloadCli
|
||||
try
|
||||
{
|
||||
downloadClientItems = downloadClient.GetItems().ToList();
|
||||
|
||||
_downloadClientStatusService.RecordSuccess(downloadClient.Definition.Id);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// TODO: Stop tracking items for the offline client
|
||||
_downloadClientStatusService.RecordFailure(downloadClient.Definition.Id);
|
||||
_logger.Warn(ex, "Unable to retrieve queue and history items from " + downloadClient.Definition.Name);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user