You've already forked Sonarr
							
							
				mirror of
				https://github.com/Sonarr/Sonarr.git
				synced 2025-10-31 00:07:55 +02:00 
			
		
		
		
	Fixed: Refresh Xem mapped series list every 12 hours, instead of on startup only
This commit is contained in:
		| @@ -0,0 +1,8 @@ | ||||
| using NzbDrone.Core.Messaging.Commands; | ||||
| 
 | ||||
| namespace NzbDrone.Core.DataAugmentation.Xem | ||||
| { | ||||
|     public class RefreshXemCacheCommand : Command | ||||
|     { | ||||
|     } | ||||
| } | ||||
| @@ -2,13 +2,14 @@ | ||||
| using System.Linq; | ||||
| using NLog; | ||||
| using NzbDrone.Common.Cache; | ||||
| using NzbDrone.Core.Messaging.Commands; | ||||
| using NzbDrone.Core.Messaging.Events; | ||||
| using NzbDrone.Core.Tv; | ||||
| using NzbDrone.Core.Tv.Events; | ||||
| 
 | ||||
| namespace NzbDrone.Core.DataAugmentation.Xem | ||||
| { | ||||
|     public class XemService : IHandle<SeriesUpdatedEvent> | ||||
|     public class XemService : IHandle<SeriesUpdatedEvent>, IExecute<RefreshXemCacheCommand> | ||||
|     { | ||||
|         private readonly IEpisodeService _episodeService; | ||||
|         private readonly IXemProxy _xemProxy; | ||||
| @@ -28,23 +29,6 @@ namespace NzbDrone.Core.DataAugmentation.Xem | ||||
|             _cache = cacheManger.GetCache<bool>(GetType()); | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         public void Handle(SeriesUpdatedEvent message) | ||||
|         { | ||||
|             if (_cache.Count == 0) | ||||
|             { | ||||
|                 RefreshCache(); | ||||
|             } | ||||
| 
 | ||||
|             if (!_cache.Find(message.Series.TvdbId.ToString())) | ||||
|             { | ||||
|                 _logger.Trace("Scene numbering is not available for {0} [{1}]", message.Series.Title, message.Series.TvdbId); | ||||
|                 return; | ||||
|             } | ||||
| 
 | ||||
|             PerformUpdate(message.Series); | ||||
|         } | ||||
| 
 | ||||
|         private void PerformUpdate(Series series) | ||||
|         { | ||||
|             _logger.Trace("Updating scene numbering mapping for: {0}", series); | ||||
| @@ -109,5 +93,26 @@ namespace NzbDrone.Core.DataAugmentation.Xem | ||||
|                 _cache.Set(id.ToString(), true, TimeSpan.FromHours(1)); | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         public void Handle(SeriesUpdatedEvent message) | ||||
|         { | ||||
|             if (_cache.Count == 0) | ||||
|             { | ||||
|                 RefreshCache(); | ||||
|             } | ||||
| 
 | ||||
|             if (!_cache.Find(message.Series.TvdbId.ToString())) | ||||
|             { | ||||
|                 _logger.Trace("Scene numbering is not available for {0} [{1}]", message.Series.Title, message.Series.TvdbId); | ||||
|                 return; | ||||
|             } | ||||
| 
 | ||||
|             PerformUpdate(message.Series); | ||||
|         } | ||||
| 
 | ||||
|         public void Execute(RefreshXemCacheCommand message) | ||||
|         { | ||||
|             RefreshCache(); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -47,14 +47,16 @@ namespace NzbDrone.Core.Jobs | ||||
|             var defaultTasks = new[] | ||||
|                 { | ||||
|                     new ScheduledTask{ Interval = _configService.RssSyncInterval, TypeName = typeof(RssSyncCommand).FullName}, | ||||
|                     new ScheduledTask{ Interval = 12*60, TypeName = typeof(RefreshSeriesCommand).FullName}, | ||||
|                     new ScheduledTask{ Interval = 1, TypeName = typeof(DownloadedEpisodesScanCommand).FullName}, | ||||
|                     new ScheduledTask{ Interval = 60, TypeName = typeof(ApplicationUpdateCommand).FullName}, | ||||
|                     new ScheduledTask{ Interval = 1, TypeName = typeof(TrackedCommandCleanupCommand).FullName}, | ||||
|                     new ScheduledTask{ Interval = 1, TypeName = typeof(CheckForFailedDownloadCommand).FullName}, | ||||
|                     new ScheduledTask{ Interval = 1*60, TypeName = typeof(ApplicationUpdateCommand).FullName}, | ||||
|                     new ScheduledTask{ Interval = 1*60, TypeName = typeof(TrimLogCommand).FullName}, | ||||
|                     new ScheduledTask{ Interval = 3*60, TypeName = typeof(UpdateSceneMappingCommand).FullName}, | ||||
|                     new ScheduledTask{ Interval = 1, TypeName = typeof(TrackedCommandCleanupCommand).FullName}, | ||||
|                     new ScheduledTask{ Interval = 12*60, TypeName = typeof(RefreshXemCacheCommand).FullName}, | ||||
|                     new ScheduledTask{ Interval = 12*60, TypeName = typeof(RefreshSeriesCommand).FullName}, | ||||
|                     new ScheduledTask{ Interval = 24*60, TypeName = typeof(HousekeepingCommand).FullName}, | ||||
|                     new ScheduledTask{ Interval = 1, TypeName = typeof(CheckForFailedDownloadCommand).FullName} | ||||
|                      | ||||
|                 }; | ||||
| 
 | ||||
|             var currentTasks = _scheduledTaskRepository.All(); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user