From 42c69a0f05f42ad992d70f517440bb6e5f93cfaa Mon Sep 17 00:00:00 2001 From: tidusjar Date: Fri, 13 Oct 2017 21:36:27 +0100 Subject: [PATCH] Use Sqlite storage for Hangfire --- src/Ombi.Core/Ombi.Core.csproj | 2 +- .../Rule/Rules/Search/EmbyAvailabilityRule.cs | 2 +- src/Ombi.Schedule/Ombi.Schedule.csproj | 4 +++- src/Ombi/Ombi.csproj | 3 ++- src/Ombi/Startup.cs | 15 ++++++++++----- 5 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/Ombi.Core/Ombi.Core.csproj b/src/Ombi.Core/Ombi.Core.csproj index 957d79c1d..58024b76d 100644 --- a/src/Ombi.Core/Ombi.Core.csproj +++ b/src/Ombi.Core/Ombi.Core.csproj @@ -14,7 +14,7 @@ - + diff --git a/src/Ombi.Core/Rule/Rules/Search/EmbyAvailabilityRule.cs b/src/Ombi.Core/Rule/Rules/Search/EmbyAvailabilityRule.cs index 20ad75b19..0bd98da2b 100644 --- a/src/Ombi.Core/Rule/Rules/Search/EmbyAvailabilityRule.cs +++ b/src/Ombi.Core/Rule/Rules/Search/EmbyAvailabilityRule.cs @@ -36,7 +36,7 @@ namespace Ombi.Core.Rule.Rules.Search foreach (var episode in season.Episodes) { var epExists = await allEpisodes.FirstOrDefaultAsync(x => - x.EpisodeNumber == episode.EpisodeNumber && x.SeasonNumber == season.SeasonNumber && item.ProviderId.ToString() == x.Series.ProviderId); + x.EpisodeNumber == episode.EpisodeNumber && x.SeasonNumber == season.SeasonNumber && item.ProviderId.ToString() == searchResult.Id.ToString()); if (epExists != null) { episode.Available = true; diff --git a/src/Ombi.Schedule/Ombi.Schedule.csproj b/src/Ombi.Schedule/Ombi.Schedule.csproj index 04106e767..91bcfb595 100644 --- a/src/Ombi.Schedule/Ombi.Schedule.csproj +++ b/src/Ombi.Schedule/Ombi.Schedule.csproj @@ -9,11 +9,13 @@ + - + + diff --git a/src/Ombi/Ombi.csproj b/src/Ombi/Ombi.csproj index 62d4725a5..368e5c2cb 100644 --- a/src/Ombi/Ombi.csproj +++ b/src/Ombi/Ombi.csproj @@ -52,9 +52,10 @@ - + + diff --git a/src/Ombi/Startup.cs b/src/Ombi/Startup.cs index de43ece94..208c459a1 100644 --- a/src/Ombi/Startup.cs +++ b/src/Ombi/Startup.cs @@ -8,7 +8,7 @@ using AutoMapper.EquivalencyExpression; using Hangfire; using Hangfire.Console; using Hangfire.Dashboard; -using Hangfire.MemoryStorage; +using Hangfire.SQLite; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; @@ -16,7 +16,6 @@ using Microsoft.AspNetCore.HttpOverrides; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.SpaServices.Webpack; using Microsoft.AspNetCore.StaticFiles; -using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; @@ -125,10 +124,16 @@ namespace Ombi services.AddSwagger(); services.AddAppSettingsValues(Configuration); + var i = StoragePathSingleton.Instance; + if (string.IsNullOrEmpty(i.StoragePath)) + { + i.StoragePath = string.Empty; + } + var sqliteStorage = $"Data Source={Path.Combine(i.StoragePath, "Ombi.db")};"; + services.AddHangfire(x => { - x.UseMemoryStorage(new MemoryStorageOptions()); - //x.UseSQLiteStorage("Data Source=Ombi.db;"); + x.UseSQLiteStorage(sqliteStorage); x.UseActivator(new IoCJobActivator(services.BuildServiceProvider())); x.UseConsole(); }); @@ -167,7 +172,7 @@ namespace Ombi app.UsePathBase(settings.BaseUrl); } - app.UseHangfireServer(); + app.UseHangfireServer(new BackgroundJobServerOptions{WorkerCount = 1}); app.UseHangfireDashboard(settings.BaseUrl.HasValue() ? $"{settings.BaseUrl}/hangfire" : "/hangfire", new DashboardOptions {