From 47571bc5bdb32ae5d57e251af04b86d2fe8a2f62 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 13 Apr 2015 12:34:36 -0400 Subject: [PATCH] resolve scheduled task write error --- .../ScheduledTasks/ScheduledTaskWorker.cs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/MediaBrowser.Common.Implementations/ScheduledTasks/ScheduledTaskWorker.cs b/MediaBrowser.Common.Implementations/ScheduledTasks/ScheduledTaskWorker.cs index 78dcea493..c2551731f 100644 --- a/MediaBrowser.Common.Implementations/ScheduledTasks/ScheduledTaskWorker.cs +++ b/MediaBrowser.Common.Implementations/ScheduledTasks/ScheduledTaskWorker.cs @@ -121,12 +121,12 @@ namespace MediaBrowser.Common.Implementations.ScheduledTasks { if (_lastExecutionResult == null) { + var path = GetHistoryFilePath(); + lock (_lastExecutionResultSyncLock) { if (_lastExecutionResult == null) { - var path = GetHistoryFilePath(); - try { return JsonSerializer.DeserializeFromFile(path); @@ -152,6 +152,14 @@ namespace MediaBrowser.Common.Implementations.ScheduledTasks private set { _lastExecutionResult = value; + + var path = GetHistoryFilePath(); + Directory.CreateDirectory(Path.GetDirectoryName(path)); + + lock (_lastExecutionResultSyncLock) + { + JsonSerializer.SerializeToFile(value, path); + } } } @@ -582,11 +590,6 @@ namespace MediaBrowser.Common.Implementations.ScheduledTasks result.LongErrorMessage = ex.StackTrace; } - var path = GetHistoryFilePath(); - Directory.CreateDirectory(Path.GetDirectoryName(path)); - - JsonSerializer.SerializeToFile(result, path); - LastExecutionResult = result; ((TaskManager)TaskManager).OnTaskCompleted(this, result);