diff --git a/src/NzbDrone.Core/Jobs/ScheduledTask.cs b/src/NzbDrone.Core/Jobs/ScheduledTask.cs index 82c948b2f..dd2fe0ce0 100644 --- a/src/NzbDrone.Core/Jobs/ScheduledTask.cs +++ b/src/NzbDrone.Core/Jobs/ScheduledTask.cs @@ -9,8 +9,8 @@ namespace NzbDrone.Core.Jobs public string TypeName { get; set; } public int Interval { get; set; } public DateTime LastExecution { get; set; } - public DateTime LastStartTime { get; set; } public CommandPriority Priority { get; set; } + public DateTime LastStartTime { get; set; } public ScheduledTask() { diff --git a/src/NzbDrone.Core/Jobs/TaskManager.cs b/src/NzbDrone.Core/Jobs/TaskManager.cs index 1668a2249..6c4824a7b 100644 --- a/src/NzbDrone.Core/Jobs/TaskManager.cs +++ b/src/NzbDrone.Core/Jobs/TaskManager.cs @@ -199,7 +199,16 @@ namespace NzbDrone.Core.Jobs if (scheduledTask != null && message.Command.Body.UpdateScheduledTask) { _logger.Trace("Updating last run time for: {0}", scheduledTask.TypeName); - _scheduledTaskRepository.SetLastExecutionTime(scheduledTask.Id, DateTime.UtcNow, message.Command.StartedAt.Value); + + var lastExecution = DateTime.UtcNow; + var startTime = message.Command.StartedAt.Value; + + _scheduledTaskRepository.SetLastExecutionTime(scheduledTask.Id, lastExecution, startTime); + + var cached = _cache.Find(scheduledTask.TypeName); + + cached.LastExecution = lastExecution; + cached.LastStartTime = startTime; } }