mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-07-10 15:32:37 -07:00
fixed #622
This commit is contained in:
parent
220004f432
commit
683e4831c4
114 changed files with 5916 additions and 5885 deletions
|
@ -1,4 +1,5 @@
|
||||||
#region Copyright
|
#region Copyright
|
||||||
|
|
||||||
// /************************************************************************
|
// /************************************************************************
|
||||||
// Copyright (c) 2016 Jamie Rees
|
// Copyright (c) 2016 Jamie Rees
|
||||||
// File: Scheduler.cs
|
// File: Scheduler.cs
|
||||||
|
@ -23,18 +24,17 @@
|
||||||
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||||
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
// ************************************************************************/
|
// ************************************************************************/
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
using NLog;
|
using NLog;
|
||||||
|
|
||||||
using PlexRequests.Core;
|
using PlexRequests.Core;
|
||||||
using PlexRequests.Core.SettingModels;
|
using PlexRequests.Core.SettingModels;
|
||||||
using PlexRequests.Services.Jobs;
|
using PlexRequests.Services.Jobs;
|
||||||
using PlexRequests.UI.Helpers;
|
using PlexRequests.UI.Helpers;
|
||||||
|
|
||||||
using Quartz;
|
using Quartz;
|
||||||
using Quartz.Impl;
|
using Quartz.Impl;
|
||||||
|
|
||||||
|
@ -61,20 +61,17 @@ namespace PlexRequests.UI.Jobs
|
||||||
|
|
||||||
var jobList = new List<IJobDetail>
|
var jobList = new List<IJobDetail>
|
||||||
{
|
{
|
||||||
JobBuilder.Create<PlexAvailabilityChecker>().WithIdentity("PlexAvailabilityChecker", "Plex").Build(),
|
JobBuilder.Create<PlexAvailabilityChecker>().WithIdentity("PlexAvailabilityChecker", "Plex").Build(),
|
||||||
JobBuilder.Create<PlexEpisodeCacher>().WithIdentity("PlexEpisodeCacher", "Cache").Build(),
|
JobBuilder.Create<PlexEpisodeCacher>().WithIdentity("PlexEpisodeCacher", "Cache").Build(),
|
||||||
JobBuilder.Create<SickRageCacher>().WithIdentity("SickRageCacher", "Cache").Build(),
|
JobBuilder.Create<SickRageCacher>().WithIdentity("SickRageCacher", "Cache").Build(),
|
||||||
JobBuilder.Create<SonarrCacher>().WithIdentity("SonarrCacher", "Cache").Build(),
|
JobBuilder.Create<SonarrCacher>().WithIdentity("SonarrCacher", "Cache").Build(),
|
||||||
JobBuilder.Create<CouchPotatoCacher>().WithIdentity("CouchPotatoCacher", "Cache").Build(),
|
JobBuilder.Create<CouchPotatoCacher>().WithIdentity("CouchPotatoCacher", "Cache").Build(),
|
||||||
JobBuilder.Create<StoreBackup>().WithIdentity("StoreBackup", "Database").Build(),
|
JobBuilder.Create<StoreBackup>().WithIdentity("StoreBackup", "Database").Build(),
|
||||||
JobBuilder.Create<StoreCleanup>().WithIdentity("StoreCleanup", "Database").Build(),
|
JobBuilder.Create<StoreCleanup>().WithIdentity("StoreCleanup", "Database").Build(),
|
||||||
JobBuilder.Create<UserRequestLimitResetter>().WithIdentity("UserRequestLimiter", "Request").Build(),
|
JobBuilder.Create<UserRequestLimitResetter>().WithIdentity("UserRequestLimiter", "Request").Build(),
|
||||||
|
JobBuilder.Create<RecentlyAdded>().WithIdentity("RecentlyAddedModel", "Email").Build()
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(s.RecentlyAddedCron))
|
|
||||||
{
|
|
||||||
jobList.Add(JobBuilder.Create<RecentlyAdded>().WithIdentity("RecentlyAddedModel", "Email").Build());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
jobs.AddRange(jobList);
|
jobs.AddRange(jobList);
|
||||||
|
@ -115,6 +112,47 @@ namespace PlexRequests.UI.Jobs
|
||||||
var settingsService = Service.Resolve<ISettingsService<ScheduledJobsSettings>>();
|
var settingsService = Service.Resolve<ISettingsService<ScheduledJobsSettings>>();
|
||||||
var s = settingsService.GetSettings();
|
var s = settingsService.GetSettings();
|
||||||
|
|
||||||
|
if (s.CouchPotatoCacher == 0)
|
||||||
|
{
|
||||||
|
s.CouchPotatoCacher = 60;
|
||||||
|
}
|
||||||
|
if (s.PlexAvailabilityChecker == 0)
|
||||||
|
{
|
||||||
|
s.PlexAvailabilityChecker = 60;
|
||||||
|
}
|
||||||
|
if (s.PlexEpisodeCacher == 0)
|
||||||
|
{
|
||||||
|
s.PlexEpisodeCacher = 11;
|
||||||
|
}
|
||||||
|
if (string.IsNullOrEmpty(s.RecentlyAddedCron))
|
||||||
|
{
|
||||||
|
var cron =
|
||||||
|
(Quartz.Impl.Triggers.CronTriggerImpl)
|
||||||
|
CronScheduleBuilder.WeeklyOnDayAndHourAndMinute(DayOfWeek.Friday, 7, 0).Build();
|
||||||
|
s.RecentlyAddedCron = cron.CronExpressionString; // Weekly CRON at 7 am on Mondays
|
||||||
|
}
|
||||||
|
if (s.SickRageCacher == 0)
|
||||||
|
{
|
||||||
|
s.SickRageCacher = 60;
|
||||||
|
}
|
||||||
|
if (s.SonarrCacher == 0)
|
||||||
|
{
|
||||||
|
s.SonarrCacher = 60;
|
||||||
|
}
|
||||||
|
if (s.StoreBackup == 0)
|
||||||
|
{
|
||||||
|
s.StoreBackup = 24;
|
||||||
|
}
|
||||||
|
if (s.StoreCleanup == 0)
|
||||||
|
{
|
||||||
|
s.StoreCleanup = 24;
|
||||||
|
}
|
||||||
|
if (s.UserRequestLimitResetter == 0)
|
||||||
|
{
|
||||||
|
s.UserRequestLimitResetter = 12;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
var triggers = new List<ITrigger>();
|
var triggers = new List<ITrigger>();
|
||||||
|
|
||||||
var plexAvailabilityChecker =
|
var plexAvailabilityChecker =
|
||||||
|
@ -175,22 +213,15 @@ namespace PlexRequests.UI.Jobs
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
|
|
||||||
var cronJob = string.IsNullOrEmpty(s.RecentlyAddedCron);
|
var rencentlyAdded =
|
||||||
if (!cronJob)
|
TriggerBuilder.Create()
|
||||||
{
|
.WithIdentity("RecentlyAddedModel", "Email")
|
||||||
var rencentlyAdded =
|
.StartNow()
|
||||||
TriggerBuilder.Create()
|
.WithCronSchedule(s.RecentlyAddedCron)
|
||||||
.WithIdentity("RecentlyAddedModel", "Email")
|
.WithSimpleSchedule(x => x.WithIntervalInHours(2).RepeatForever())
|
||||||
.StartNow()
|
.Build();
|
||||||
.WithCronSchedule(s.RecentlyAddedCron)
|
|
||||||
.WithSimpleSchedule(x => x.WithIntervalInHours(2).RepeatForever())
|
|
||||||
.Build();
|
|
||||||
|
|
||||||
triggers.Add(rencentlyAdded);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
triggers.Add(rencentlyAdded);
|
||||||
triggers.Add(plexAvailabilityChecker);
|
triggers.Add(plexAvailabilityChecker);
|
||||||
triggers.Add(srCacher);
|
triggers.Add(srCacher);
|
||||||
triggers.Add(sonarrCacher);
|
triggers.Add(sonarrCacher);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue