From 7679a132543db20ac6ca4946d6039aa867b2760a Mon Sep 17 00:00:00 2001 From: tidusjar Date: Tue, 12 Apr 2016 12:32:27 +0100 Subject: [PATCH] Fixed #154 --- .../AvailabilityUpdateService.cs | 5 ++++- PlexRequests.UI/Bootstrapper.cs | 5 +---- PlexRequests.UI/Program.cs | 19 ++++++++++++++++++- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/PlexRequests.Services/AvailabilityUpdateService.cs b/PlexRequests.Services/AvailabilityUpdateService.cs index 35235eb85..a9268a272 100644 --- a/PlexRequests.Services/AvailabilityUpdateService.cs +++ b/PlexRequests.Services/AvailabilityUpdateService.cs @@ -25,6 +25,8 @@ // ************************************************************************/ #endregion using System; +using System.Collections.Concurrent; +using System.Collections.Generic; using System.Reactive.Linq; using System.Web.Hosting; @@ -47,8 +49,10 @@ namespace PlexRequests.Services { public class AvailabilityUpdateService : ITask, IRegisteredObject, IAvailabilityUpdateService { + public AvailabilityUpdateService() { + var memCache = new MemoryCacheProvider(); var dbConfig = new DbConfiguration(new SqliteFactory()); var repo = new SettingsJsonRepository(dbConfig, memCache); @@ -67,7 +71,6 @@ namespace PlexRequests.Services public void Start(Configuration c) { UpdateSubscription?.Dispose(); - Task.Factory.StartNew(() => Checker.CheckAndUpdateAll(-1)); // cache the libraries and run the availability checks UpdateSubscription = Observable.Interval(c.Intervals.Notification).Subscribe(Checker.CheckAndUpdateAll); } diff --git a/PlexRequests.UI/Bootstrapper.cs b/PlexRequests.UI/Bootstrapper.cs index e50300afa..86185e79a 100644 --- a/PlexRequests.UI/Bootstrapper.cs +++ b/PlexRequests.UI/Bootstrapper.cs @@ -110,10 +110,7 @@ namespace PlexRequests.UI SubscribeAllObservers(container); base.ConfigureRequestContainer(container, context); - TaskManager.TaskFactory = new PlexTaskFactory(); - TaskManager.Initialize(new PlexRegistry()); - TaskManager.Initialize(new MediaCacheRegistry()); - _container = container; + } protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines) diff --git a/PlexRequests.UI/Program.cs b/PlexRequests.UI/Program.cs index ab0172848..859cd5833 100644 --- a/PlexRequests.UI/Program.cs +++ b/PlexRequests.UI/Program.cs @@ -25,6 +25,8 @@ // ************************************************************************/ #endregion using System; +using System.Collections.Generic; + using Microsoft.Owin.Hosting; using Mono.Data.Sqlite; @@ -39,6 +41,11 @@ using PlexRequests.Store; using PlexRequests.Store.Repository; using System.Diagnostics; +using FluentScheduler; + +using PlexRequests.Services; +using PlexRequests.UI.Jobs; + namespace PlexRequests.UI { class Program @@ -85,6 +92,9 @@ namespace PlexRequests.UI s.CacheQualityProfiles(); ConfigureTargets(cn); + SetupSchedulers(); + + if (port == -1) port = GetStartupPort(); @@ -132,7 +142,7 @@ namespace PlexRequests.UI private static int GetStartupPort() { Log.Trace("Getting startup Port"); - var port = 3579; + var port = 8080; var service = new SettingsServiceV2(new SettingsJsonRepository(new DbConfiguration(new SqliteFactory()), new MemoryCacheProvider())); var settings = service.GetSettings(); Log.Trace("Port: {0}", settings.Port); @@ -148,5 +158,12 @@ namespace PlexRequests.UI { LoggingHelper.ConfigureLogging(connectionString); } + + private static void SetupSchedulers() + { + TaskManager.TaskFactory = new PlexTaskFactory(); + TaskManager.Initialize(new PlexRegistry()); + TaskManager.Initialize(new MediaCacheRegistry()); + } } }