From da4122091413b51dc1972b039f5a9c04f37ea248 Mon Sep 17 00:00:00 2001 From: Qstick Date: Sun, 15 Jan 2023 12:12:32 -0600 Subject: [PATCH] Fixed: Tasks Running at random times --- src/NzbDrone.Core/Jobs/ScheduledTask.cs | 2 +- src/NzbDrone.Core/Jobs/TaskManager.cs | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) 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; } }