diff --git a/Ombi.UI/Modules/SearchModule.cs b/Ombi.UI/Modules/SearchModule.cs index 0c40aa2a7..84c58eae1 100644 --- a/Ombi.UI/Modules/SearchModule.cs +++ b/Ombi.UI/Modules/SearchModule.cs @@ -183,12 +183,15 @@ namespace Ombi.UI.Modules private IRadarrCacher RadarrCacher { get; } private ISettingsService CustomizationSettings { get; } private static Logger Log = LogManager.GetCurrentClassLogger(); + + private long _plexMovieCacheTime = 0; private IEnumerable _plexMovies = null; + + private long _dbMovieCacheTime = 0; private Dictionary _dbMovies = null; private async Task RequestLoad() { - var settings = await PrService.GetSettingsAsync(); var custom = await CustomizationSettings.GetSettingsAsync(); var emby = await EmbySettings.GetSettingsAsync(); @@ -245,11 +248,12 @@ namespace Ombi.UI.Modules } private IEnumerable plexMovies() - { - if(_plexMovies == null) + { long now = DateTime.Now.Ticks; + if(_plexMovies == null || (now - _plexMovieCacheTime) > 10000) { var content = PlexContentRepository.GetAll(); _plexMovies = PlexChecker.GetPlexMovies(content); + _plexMovieCacheTime = now; } return _plexMovies; @@ -338,13 +342,15 @@ namespace Ombi.UI.Modules private async Task> requestedMovies() { - if (_dbMovies == null) + long now = DateTime.Now.Ticks; + if (_dbMovies == null || (now - _dbMovieCacheTime) > 10000) { var allResults = await RequestService.GetAllAsync(); allResults = allResults.Where(x => x.Type == RequestType.Movie); var distinctResults = allResults.DistinctBy(x => x.ProviderId); _dbMovies = distinctResults.ToDictionary(x => x.ProviderId); + _dbMovieCacheTime = now; } return _dbMovies; }