From 0c7a13f7280cd91b84e18f28185447135be5509e Mon Sep 17 00:00:00 2001 From: Jamie Rees Date: Mon, 30 Apr 2018 14:45:42 +0100 Subject: [PATCH] Trigger a metadata refresh when we finish scanning the libraries --- src/Ombi.Schedule/Jobs/Emby/EmbyContentSync.cs | 6 +++++- src/Ombi.Schedule/Jobs/Plex/PlexContentSync.cs | 6 +++++- src/Ombi.Schedule/Jobs/Plex/PlexEpisodeSync.cs | 3 ++- src/Ombi.Settings/Settings/Models/JobSettingsHelper.cs | 4 ++-- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/Ombi.Schedule/Jobs/Emby/EmbyContentSync.cs b/src/Ombi.Schedule/Jobs/Emby/EmbyContentSync.cs index 4d0026f48..acea1535e 100644 --- a/src/Ombi.Schedule/Jobs/Emby/EmbyContentSync.cs +++ b/src/Ombi.Schedule/Jobs/Emby/EmbyContentSync.cs @@ -9,6 +9,7 @@ using Ombi.Api.Emby.Models.Movie; using Ombi.Core.Settings; using Ombi.Core.Settings.Models.External; using Ombi.Helpers; +using Ombi.Schedule.Jobs.Ombi; using Ombi.Store.Entities; using Ombi.Store.Repository; using Serilog; @@ -19,13 +20,14 @@ namespace Ombi.Schedule.Jobs.Emby public class EmbyContentSync : IEmbyContentSync { public EmbyContentSync(ISettingsService settings, IEmbyApi api, ILogger logger, - IEmbyContentRepository repo, IEmbyEpisodeSync epSync) + IEmbyContentRepository repo, IEmbyEpisodeSync epSync, IRefreshMetadata metadata) { _logger = logger; _settings = settings; _api = api; _repo = repo; _episodeSync = epSync; + _metadata = metadata; _settings.ClearCache(); } @@ -34,6 +36,7 @@ namespace Ombi.Schedule.Jobs.Emby private readonly IEmbyApi _api; private readonly IEmbyContentRepository _repo; private readonly IEmbyEpisodeSync _episodeSync; + private readonly IRefreshMetadata _metadata; public async Task Start() @@ -56,6 +59,7 @@ namespace Ombi.Schedule.Jobs.Emby // Episodes BackgroundJob.Enqueue(() => _episodeSync.Start()); + BackgroundJob.Enqueue(() => _metadata.Start()); } diff --git a/src/Ombi.Schedule/Jobs/Plex/PlexContentSync.cs b/src/Ombi.Schedule/Jobs/Plex/PlexContentSync.cs index 0292b6b54..67464a3dd 100644 --- a/src/Ombi.Schedule/Jobs/Plex/PlexContentSync.cs +++ b/src/Ombi.Schedule/Jobs/Plex/PlexContentSync.cs @@ -37,6 +37,7 @@ using Ombi.Api.Plex.Models; using Ombi.Core.Settings; using Ombi.Core.Settings.Models.External; using Ombi.Helpers; +using Ombi.Schedule.Jobs.Ombi; using Ombi.Schedule.Jobs.Plex.Interfaces; using Ombi.Store.Entities; using Ombi.Store.Repository; @@ -46,13 +47,14 @@ namespace Ombi.Schedule.Jobs.Plex public class PlexContentSync : IPlexContentSync { public PlexContentSync(ISettingsService plex, IPlexApi plexApi, ILogger logger, IPlexContentRepository repo, - IPlexEpisodeSync epsiodeSync) + IPlexEpisodeSync epsiodeSync, IRefreshMetadata metadataRefresh) { Plex = plex; PlexApi = plexApi; Logger = logger; Repo = repo; EpisodeSync = epsiodeSync; + Metadata = metadataRefresh; plex.ClearCache(); } @@ -61,6 +63,7 @@ namespace Ombi.Schedule.Jobs.Plex private ILogger Logger { get; } private IPlexContentRepository Repo { get; } private IPlexEpisodeSync EpisodeSync { get; } + private IRefreshMetadata Metadata { get; } public async Task CacheContent(bool recentlyAddedSearch = false) { @@ -87,6 +90,7 @@ namespace Ombi.Schedule.Jobs.Plex Logger.LogInformation("Starting EP Cacher"); BackgroundJob.Enqueue(() => EpisodeSync.Start()); + BackgroundJob.Enqueue(() => Metadata.Start()); } private async Task StartTheCache(PlexSettings plexSettings, bool recentlyAddedSearch) diff --git a/src/Ombi.Schedule/Jobs/Plex/PlexEpisodeSync.cs b/src/Ombi.Schedule/Jobs/Plex/PlexEpisodeSync.cs index 7d0fde4c7..8e8cce411 100644 --- a/src/Ombi.Schedule/Jobs/Plex/PlexEpisodeSync.cs +++ b/src/Ombi.Schedule/Jobs/Plex/PlexEpisodeSync.cs @@ -50,12 +50,13 @@ namespace Ombi.Schedule.Jobs.Plex await Cache(server); } - BackgroundJob.Enqueue(() => _availabilityChecker.Start()); } catch (Exception e) { _log.LogError(LoggingEvents.Cacher, e, "Caching Episodes Failed"); } + + BackgroundJob.Enqueue(() => _availabilityChecker.Start()); } private async Task Cache(PlexServers settings) diff --git a/src/Ombi.Settings/Settings/Models/JobSettingsHelper.cs b/src/Ombi.Settings/Settings/Models/JobSettingsHelper.cs index c4fcb8ceb..2e56f17db 100644 --- a/src/Ombi.Settings/Settings/Models/JobSettingsHelper.cs +++ b/src/Ombi.Settings/Settings/Models/JobSettingsHelper.cs @@ -21,7 +21,7 @@ namespace Ombi.Settings.Settings.Models } public static string PlexContent(JobSettings s) { - return Get(s.PlexContentSync, Cron.HourInterval(6)); + return Get(s.PlexContentSync, Cron.Daily(2)); } public static string PlexRecentlyAdded(JobSettings s) { @@ -50,7 +50,7 @@ namespace Ombi.Settings.Settings.Models } public static string RefreshMetadata(JobSettings s) { - return Get(s.RefreshMetadata, Cron.Daily(3)); + return Get(s.RefreshMetadata, Cron.DayInterval(2)); } private static string Get(string settings, string defaultCron)