From bc833492f0c27fbd106b170984f80ac133341396 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 14 Apr 2013 15:39:25 -0400 Subject: [PATCH] use scheduled task when plugins ask for a library refresh --- .../Library/LibraryManager.cs | 14 +++++++++++++- .../ScheduledTasks/RefreshMediaLibraryTask.cs | 3 ++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs index ca261a393b..3ec881499f 100644 --- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs +++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs @@ -758,7 +758,19 @@ namespace MediaBrowser.Server.Implementations.Library /// The progress. /// The cancellation token. /// Task. - public async Task ValidateMediaLibrary(IProgress progress, CancellationToken cancellationToken) + public Task ValidateMediaLibrary(IProgress progress, CancellationToken cancellationToken) + { + // Just run the scheduled task so that the user can see it + return Task.Run(() => _taskManager.CancelIfRunningAndQueue()); + } + + /// + /// Validates the media library internal. + /// + /// The progress. + /// The cancellation token. + /// Task. + public async Task ValidateMediaLibraryInternal(IProgress progress, CancellationToken cancellationToken) { _logger.Info("Validating media library"); diff --git a/MediaBrowser.Server.Implementations/ScheduledTasks/RefreshMediaLibraryTask.cs b/MediaBrowser.Server.Implementations/ScheduledTasks/RefreshMediaLibraryTask.cs index 8170e90a62..6082b629e1 100644 --- a/MediaBrowser.Server.Implementations/ScheduledTasks/RefreshMediaLibraryTask.cs +++ b/MediaBrowser.Server.Implementations/ScheduledTasks/RefreshMediaLibraryTask.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; +using MediaBrowser.Server.Implementations.Library; namespace MediaBrowser.Server.Implementations.ScheduledTasks { @@ -55,7 +56,7 @@ namespace MediaBrowser.Server.Implementations.ScheduledTasks progress.Report(0); - return _libraryManager.ValidateMediaLibrary(progress, cancellationToken); + return ((LibraryManager)_libraryManager).ValidateMediaLibraryInternal(progress, cancellationToken); } ///