From e12984af4c3563cf709a96d9fa6dfee1e41a6a24 Mon Sep 17 00:00:00 2001 From: Stephan Date: Sun, 8 Feb 2015 16:25:30 +0100 Subject: [PATCH] refactor latched background tasks, now use a task for xml --- .../Scheduling/BackgroundTaskRunnerTests.cs | 11 +- .../config/ClientDependency.config | 2 +- .../XmlCacheFilePersister.cs | 115 ++++++++++++++++-- .../Scheduling/BackgroundTaskRunner.cs | 20 +-- .../Scheduling/DelayedRecurringTaskBase.cs | 66 ++++++---- .../Scheduling/IDelayedBackgroundTask.cs | 23 ---- .../Scheduling/ILatchedBackgroundTask.cs | 31 +++++ src/Umbraco.Web/Scheduling/LogScrubber.cs | 5 + .../Scheduling/RecurringTaskBase.cs | 22 ++-- .../Scheduling/ScheduledPublishing.cs | 5 + src/Umbraco.Web/Scheduling/ScheduledTasks.cs | 5 + src/Umbraco.Web/Umbraco.Web.csproj | 2 +- .../umbraco.presentation/content.cs | 17 ++- 13 files changed, 240 insertions(+), 84 deletions(-) delete mode 100644 src/Umbraco.Web/Scheduling/IDelayedBackgroundTask.cs create mode 100644 src/Umbraco.Web/Scheduling/ILatchedBackgroundTask.cs diff --git a/src/Umbraco.Tests/Scheduling/BackgroundTaskRunnerTests.cs b/src/Umbraco.Tests/Scheduling/BackgroundTaskRunnerTests.cs index e83ce400d9..299c11881d 100644 --- a/src/Umbraco.Tests/Scheduling/BackgroundTaskRunnerTests.cs +++ b/src/Umbraco.Tests/Scheduling/BackgroundTaskRunnerTests.cs @@ -564,7 +564,7 @@ namespace Umbraco.Tests.Scheduling } } - private class MyDelayedTask : IDelayedBackgroundTask + private class MyDelayedTask : ILatchedBackgroundTask { private readonly int _runMilliseconds; private readonly ManualResetEvent _gate; @@ -577,12 +577,17 @@ namespace Umbraco.Tests.Scheduling _gate = new ManualResetEvent(false); } - public WaitHandle DelayWaitHandle + public WaitHandle Latch { get { return _gate; } } - public bool IsDelayed + public bool IsLatched + { + get { return true; } + } + + public bool RunsOnShutdown { get { return true; } } diff --git a/src/Umbraco.Web.UI/config/ClientDependency.config b/src/Umbraco.Web.UI/config/ClientDependency.config index 006dea76b0..246bff7cac 100644 --- a/src/Umbraco.Web.UI/config/ClientDependency.config +++ b/src/Umbraco.Web.UI/config/ClientDependency.config @@ -10,7 +10,7 @@ NOTES: * Compression/Combination/Minification is not enabled unless debug="false" is specified on the 'compiliation' element in the web.config * A new version will invalidate both client and server cache and create new persisted files --> - +