1
0
mirror of https://github.com/Radarr/Radarr.git synced 2024-11-13 22:43:35 +01:00
Radarr/NzbDrone.Core/Housekeeping/HousekeepingService.cs
2013-09-18 22:49:31 -07:00

37 lines
1.0 KiB
C#

using System;
using System.Collections.Generic;
using NLog;
using NzbDrone.Core.Messaging.Commands;
namespace NzbDrone.Core.Housekeeping
{
public class HousekeepingService : IExecute<HousekeepingCommand>
{
private readonly IEnumerable<IHousekeepingTask> _housekeepers;
private readonly Logger _logger;
public HousekeepingService(IEnumerable<IHousekeepingTask> housekeepers, Logger logger)
{
_housekeepers = housekeepers;
_logger = logger;
}
public void Execute(HousekeepingCommand message)
{
_logger.Info("Running housecleaning tasks");
foreach (var housekeeper in _housekeepers)
{
try
{
housekeeper.Clean();
}
catch (Exception ex)
{
_logger.ErrorException("Error running housekeeping task: " + housekeeper.GetType().FullName, ex);
}
}
}
}
}