From 44e6c46337e4f9c3e47d1a434ec55a5a860de835 Mon Sep 17 00:00:00 2001 From: Taloth Saldono Date: Fri, 31 Jul 2015 18:26:06 +0200 Subject: [PATCH] Fixed: Refreshing individual series incorrectly delayed the schedule task. fixes #720 --- src/NzbDrone.Core/Backup/BackupCommand.cs | 10 +++++++++- src/NzbDrone.Core/Jobs/TaskManager.cs | 2 +- src/NzbDrone.Core/Messaging/Commands/Command.cs | 10 +++++++++- src/NzbDrone.Core/Tv/Commands/RefreshSeriesCommand.cs | 8 ++++++++ 4 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/NzbDrone.Core/Backup/BackupCommand.cs b/src/NzbDrone.Core/Backup/BackupCommand.cs index 29199c67a..72fd2ddcc 100644 --- a/src/NzbDrone.Core/Backup/BackupCommand.cs +++ b/src/NzbDrone.Core/Backup/BackupCommand.cs @@ -13,11 +13,19 @@ namespace NzbDrone.Core.Backup return true; } } + + public override bool UpdateScheduledTask + { + get + { + return Type == BackupType.Scheduled; + } + } } public enum BackupType { - Scheduled = 0 , + Scheduled = 0, Manual = 1, Update = 2 } diff --git a/src/NzbDrone.Core/Jobs/TaskManager.cs b/src/NzbDrone.Core/Jobs/TaskManager.cs index c820164fe..0a7d71870 100644 --- a/src/NzbDrone.Core/Jobs/TaskManager.cs +++ b/src/NzbDrone.Core/Jobs/TaskManager.cs @@ -127,7 +127,7 @@ namespace NzbDrone.Core.Jobs { var scheduledTask = _scheduledTaskRepository.All().SingleOrDefault(c => c.TypeName == message.Command.Body.GetType().FullName); - if (scheduledTask != null) + if (scheduledTask != null && message.Command.Body.UpdateScheduledTask) { _logger.Trace("Updating last run time for: {0}", scheduledTask.TypeName); _scheduledTaskRepository.SetLastExecutionTime(scheduledTask.Id, DateTime.UtcNow); diff --git a/src/NzbDrone.Core/Messaging/Commands/Command.cs b/src/NzbDrone.Core/Messaging/Commands/Command.cs index 36dc1adcd..e68a9f6d5 100644 --- a/src/NzbDrone.Core/Messaging/Commands/Command.cs +++ b/src/NzbDrone.Core/Messaging/Commands/Command.cs @@ -4,7 +4,7 @@ namespace NzbDrone.Core.Messaging.Commands { public abstract class Command { - public virtual Boolean SendUpdatesToClient + public virtual bool SendUpdatesToClient { get { @@ -12,6 +12,14 @@ namespace NzbDrone.Core.Messaging.Commands } } + public virtual bool UpdateScheduledTask + { + get + { + return true; + } + } + public virtual string CompletionMessage { get diff --git a/src/NzbDrone.Core/Tv/Commands/RefreshSeriesCommand.cs b/src/NzbDrone.Core/Tv/Commands/RefreshSeriesCommand.cs index 8ccc3a2b4..fbe346a26 100644 --- a/src/NzbDrone.Core/Tv/Commands/RefreshSeriesCommand.cs +++ b/src/NzbDrone.Core/Tv/Commands/RefreshSeriesCommand.cs @@ -22,5 +22,13 @@ namespace NzbDrone.Core.Tv.Commands return true; } } + + public override bool UpdateScheduledTask + { + get + { + return !SeriesId.HasValue; + } + } } } \ No newline at end of file