aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-04-14 15:39:25 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-04-14 15:39:25 -0400
commitbc833492f0c27fbd106b170984f80ac133341396 (patch)
tree12b919fb6f7c2cebfabcd6889a0b89fd771f5399
parent92af49d8103d0bb7a6101479c0a49c1a392f3d57 (diff)
use scheduled task when plugins ask for a library refresh
-rw-r--r--MediaBrowser.Server.Implementations/Library/LibraryManager.cs14
-rw-r--r--MediaBrowser.Server.Implementations/ScheduledTasks/RefreshMediaLibraryTask.cs3
2 files changed, 15 insertions, 2 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
index ca261a393..3ec881499 100644
--- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
@@ -758,7 +758,19 @@ namespace MediaBrowser.Server.Implementations.Library
/// <param name="progress">The progress.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task.</returns>
- public async Task ValidateMediaLibrary(IProgress<double> progress, CancellationToken cancellationToken)
+ public Task ValidateMediaLibrary(IProgress<double> progress, CancellationToken cancellationToken)
+ {
+ // Just run the scheduled task so that the user can see it
+ return Task.Run(() => _taskManager.CancelIfRunningAndQueue<RefreshMediaLibraryTask>());
+ }
+
+ /// <summary>
+ /// Validates the media library internal.
+ /// </summary>
+ /// <param name="progress">The progress.</param>
+ /// <param name="cancellationToken">The cancellation token.</param>
+ /// <returns>Task.</returns>
+ public async Task ValidateMediaLibraryInternal(IProgress<double> 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 8170e90a6..6082b629e 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);
}
/// <summary>