Updated state to scan library first before looking for stale media to ensure data in table is accurate
This commit is contained in:
@@ -11,18 +11,32 @@ using System.Net.Http;
|
||||
using System;
|
||||
using System.Text.Json;
|
||||
using System.Globalization;
|
||||
using MediaBrowser.Model.Tasks;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace Jellyfin.Plugin.MediaCleaner.Data;
|
||||
|
||||
public class MediaCleanerState(ILogger<StaleMediaScanner> logger, ILibraryManager libraryManager)
|
||||
public class MediaCleanerState(ILogger<StaleMediaScanner> logger, ILibraryManager libraryManager, ITaskManager taskManager)
|
||||
{
|
||||
private readonly Lock _lock = new();
|
||||
private IEnumerable<MediaInfo> _mediaInfo = [];
|
||||
private readonly StaleMediaScanner _staleMediaScanner = new(logger, libraryManager);
|
||||
// private readonly ILibraryManager _libraryManager = libraryManager;
|
||||
private readonly ITaskManager _taskManager = taskManager;
|
||||
|
||||
public async Task UpdateState()
|
||||
{
|
||||
// First re-scan library and then scan for stale media.
|
||||
IScheduledTaskWorker? refreshLibraryWorker = _taskManager.ScheduledTasks.FirstOrDefault(task => task.ScheduledTask.Key == "RefreshLibrary");
|
||||
|
||||
if(refreshLibraryWorker != null)
|
||||
{
|
||||
await _taskManager.Execute(refreshLibraryWorker, new TaskOptions()).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
_mediaInfo = await _staleMediaScanner.ScanStaleMedia().ConfigureAwait(false);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<SeriesInfo>> GetTvSeriesInfo()
|
||||
|
||||
Reference in New Issue
Block a user