diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-07-06 17:23:32 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-07-06 17:23:32 -0400 |
| commit | 53450bd514eec97d58eb18b8a01feab36475826b (patch) | |
| tree | 5cd1b4013852619b0e108a8f2442ab893a924441 /MediaBrowser.Common.Implementations/ScheduledTasks/ScheduledTaskWorker.cs | |
| parent | b3054a6a2216e36cc37279a1fc0f4c14e6668c8f (diff) | |
added a notifications service
Diffstat (limited to 'MediaBrowser.Common.Implementations/ScheduledTasks/ScheduledTaskWorker.cs')
| -rw-r--r-- | MediaBrowser.Common.Implementations/ScheduledTasks/ScheduledTaskWorker.cs | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/MediaBrowser.Common.Implementations/ScheduledTasks/ScheduledTaskWorker.cs b/MediaBrowser.Common.Implementations/ScheduledTasks/ScheduledTaskWorker.cs index 336718249..8947bdcc0 100644 --- a/MediaBrowser.Common.Implementations/ScheduledTasks/ScheduledTaskWorker.cs +++ b/MediaBrowser.Common.Implementations/ScheduledTasks/ScheduledTaskWorker.cs @@ -343,6 +343,8 @@ namespace MediaBrowser.Common.Implementations.ScheduledTasks TaskCompletionStatus status; CurrentExecutionStartTime = DateTime.UtcNow; + Exception failureException = null; + try { await ExecuteTask(CurrentCancellationTokenSource.Token, progress).ConfigureAwait(false); @@ -357,6 +359,8 @@ namespace MediaBrowser.Common.Implementations.ScheduledTasks { Logger.ErrorException("Error", ex); + failureException = ex; + status = TaskCompletionStatus.Failed; } @@ -368,7 +372,7 @@ namespace MediaBrowser.Common.Implementations.ScheduledTasks CurrentCancellationTokenSource = null; CurrentProgress = null; - OnTaskCompleted(startTime, endTime, status); + OnTaskCompleted(startTime, endTime, status, failureException); } /// <summary> @@ -517,7 +521,7 @@ namespace MediaBrowser.Common.Implementations.ScheduledTasks /// <param name="startTime">The start time.</param> /// <param name="endTime">The end time.</param> /// <param name="status">The status.</param> - private void OnTaskCompleted(DateTime startTime, DateTime endTime, TaskCompletionStatus status) + private void OnTaskCompleted(DateTime startTime, DateTime endTime, TaskCompletionStatus status, Exception ex) { var elapsedTime = endTime - startTime; @@ -532,6 +536,11 @@ namespace MediaBrowser.Common.Implementations.ScheduledTasks Id = Id }; + if (ex != null) + { + result.ErrorMessage = ex.Message; + } + JsonSerializer.SerializeToFile(result, GetHistoryFilePath(true)); LastExecutionResult = result; @@ -560,7 +569,7 @@ namespace MediaBrowser.Common.Implementations.ScheduledTasks if (State == TaskState.Running) { - OnTaskCompleted(CurrentExecutionStartTime, DateTime.UtcNow, TaskCompletionStatus.Aborted); + OnTaskCompleted(CurrentExecutionStartTime, DateTime.UtcNow, TaskCompletionStatus.Aborted, null); } if (CurrentCancellationTokenSource != null) |
