First pass at the plex update service

This commit is contained in:
tidusjar 2016-03-07 13:08:30 +00:00
commit 7636409790
25 changed files with 661 additions and 16 deletions

View file

@ -39,9 +39,14 @@ using Nancy.TinyIoc;
using PlexRequests.Core;
using PlexRequests.Core.SettingModels;
using PlexRequests.Helpers;
using PlexRequests.Services;
using PlexRequests.Services.Interfaces;
using PlexRequests.Store;
using PlexRequests.Store.Repository;
using PlexRequests.UI.Jobs;
using IAvailabilityChecker = PlexRequests.UI.Jobs.IAvailabilityChecker;
using PlexAvailabilityChecker = PlexRequests.UI.Jobs.PlexAvailabilityChecker;
using TaskFactory = FluentScheduler.TaskFactory;
namespace PlexRequests.UI
@ -69,12 +74,16 @@ namespace PlexRequests.UI
container.Register<IAvailabilityChecker, PlexAvailabilityChecker>();
container.Register<IRequestService, RequestService>();
container.Register<IAvailabilityChecker, PlexAvailabilityChecker>();
container.Register<IConfigurationReader, ConfigurationReader>();
container.Register<IIntervals, UpdateInterval>();
base.ConfigureRequestContainer(container, context);
}
protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines)
{
TaskManager.TaskFactory = new Jobs.TaskFactory();
TaskManager.TaskFactory = new Jobs.PlexTaskFactory();
TaskManager.Initialize(new PlexRegistry());
CookieBasedSessions.Enable(pipelines, CryptographyConfiguration.Default);

View file

@ -27,13 +27,15 @@
using FluentScheduler;
using PlexRequests.Services;
namespace PlexRequests.UI.Jobs
{
public class PlexRegistry : Registry
{
public PlexRegistry()
{
Schedule<PlexAvailabilityChecker>().ToRunNow();
Schedule<AvailabilityUpdateService>().ToRunNow();
}
}
}

View file

@ -1,13 +1,19 @@
using FluentScheduler;
using Nancy.TinyIoc;
using PlexRequests.Services;
namespace PlexRequests.UI.Jobs
{
public class TaskFactory : ITaskFactory
public class PlexTaskFactory : ITaskFactory
{
public ITask GetTaskInstance<T>() where T : ITask
{
//typeof(AvailabilityUpdateService);
var container = TinyIoCContainer.Current;
var a= container.ResolveAll(typeof(T));
object outT;
container.TryResolve(typeof(T), out outT);

View file

@ -164,7 +164,7 @@
<Compile Include="Jobs\IAvailabilityChecker.cs" />
<Compile Include="Jobs\PlexAvailabilityChecker.cs" />
<Compile Include="Jobs\PlexRegistry.cs" />
<Compile Include="Jobs\TaskFactory.cs" />
<Compile Include="Jobs\PlexTaskFactory.cs" />
<Compile Include="Models\PlexAuth.cs" />
<Compile Include="Models\RequestViewModel.cs" />
<Compile Include="Models\SearchTvShowViewModel.cs" />
@ -297,6 +297,10 @@
<Project>{1252336D-42A3-482A-804C-836E60173DFA}</Project>
<Name>PlexRequests.Helpers</Name>
</ProjectReference>
<ProjectReference Include="..\PlexRequests.Services\PlexRequests.Services.csproj">
<Project>{566EFA49-68F8-4716-9693-A6B3F2624DEA}</Project>
<Name>PlexRequests.Services</Name>
</ProjectReference>
<ProjectReference Include="..\PlexRequests.Store\PlexRequests.Store.csproj">
<Project>{92433867-2B7B-477B-A566-96C382427525}</Project>
<Name>PlexRequests.Store</Name>