diff options
Diffstat (limited to 'MediaBrowser.Server.Implementations/ScheduledTasks')
5 files changed, 52 insertions, 38 deletions
diff --git a/MediaBrowser.Server.Implementations/ScheduledTasks/ChapterImagesTask.cs b/MediaBrowser.Server.Implementations/ScheduledTasks/ChapterImagesTask.cs index 607a043a6..9ff1172f3 100644 --- a/MediaBrowser.Server.Implementations/ScheduledTasks/ChapterImagesTask.cs +++ b/MediaBrowser.Server.Implementations/ScheduledTasks/ChapterImagesTask.cs @@ -13,6 +13,7 @@ using System.Threading; using System.Threading.Tasks; using CommonIO; using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Tasks; namespace MediaBrowser.Server.Implementations.ScheduledTasks { @@ -62,20 +63,22 @@ namespace MediaBrowser.Server.Implementations.ScheduledTasks /// <summary> /// Creates the triggers that define when the task will run /// </summary> - /// <returns>IEnumerable{BaseTaskTrigger}.</returns> - public IEnumerable<ITaskTrigger> GetDefaultTriggers() + public IEnumerable<TaskTriggerInfo> GetDefaultTriggers() { - return new ITaskTrigger[] + return new[] { + + new TaskTriggerInfo { - new DailyTrigger - { - TimeOfDay = TimeSpan.FromHours(1), - TaskOptions = new TaskExecutionOptions - { - MaxRuntimeMs = Convert.ToInt32(TimeSpan.FromHours(4).TotalMilliseconds) - } - } - }; + Type = TaskTriggerInfo.TriggerDaily, + TimeOfDayTicks = TimeSpan.FromHours(1).Ticks, + MaxRuntimeMs = Convert.ToInt32(TimeSpan.FromHours(4).TotalMilliseconds) + } + }; + } + + public string Key + { + get { return "RefreshChapterImages"; } } /// <summary> diff --git a/MediaBrowser.Server.Implementations/ScheduledTasks/PeopleValidationTask.cs b/MediaBrowser.Server.Implementations/ScheduledTasks/PeopleValidationTask.cs index 05c3db63c..0315410cd 100644 --- a/MediaBrowser.Server.Implementations/ScheduledTasks/PeopleValidationTask.cs +++ b/MediaBrowser.Server.Implementations/ScheduledTasks/PeopleValidationTask.cs @@ -5,6 +5,7 @@ using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using MediaBrowser.Controller; +using MediaBrowser.Model.Tasks; namespace MediaBrowser.Server.Implementations.ScheduledTasks { @@ -33,16 +34,21 @@ namespace MediaBrowser.Server.Implementations.ScheduledTasks /// <summary> /// Creates the triggers that define when the task will run /// </summary> - /// <returns>IEnumerable{BaseTaskTrigger}.</returns> - public IEnumerable<ITaskTrigger> GetDefaultTriggers() + public IEnumerable<TaskTriggerInfo> GetDefaultTriggers() { // Randomize the default start hour because this operation can really hammer internet metadata providers var startHour = new Random(_appHost.SystemId.GetHashCode()).Next(0, 8); - return new ITaskTrigger[] - { - new DailyTrigger { TimeOfDay = TimeSpan.FromHours(startHour) }, - }; + return new[] { + + // Every so often + new TaskTriggerInfo { Type = TaskTriggerInfo.TriggerDaily, TimeOfDayTicks = TimeSpan.FromHours(startHour).Ticks} + }; + } + + public string Key + { + get { return "RefreshPeople"; } } /// <summary> diff --git a/MediaBrowser.Server.Implementations/ScheduledTasks/PluginUpdateTask.cs b/MediaBrowser.Server.Implementations/ScheduledTasks/PluginUpdateTask.cs index ff0960259..a2d587087 100644 --- a/MediaBrowser.Server.Implementations/ScheduledTasks/PluginUpdateTask.cs +++ b/MediaBrowser.Server.Implementations/ScheduledTasks/PluginUpdateTask.cs @@ -9,6 +9,7 @@ using System.IO; using System.Linq; using System.Threading; using System.Threading.Tasks; +using MediaBrowser.Model.Tasks; namespace MediaBrowser.Server.Implementations.ScheduledTasks { @@ -37,18 +38,23 @@ namespace MediaBrowser.Server.Implementations.ScheduledTasks /// Creates the triggers that define when the task will run /// </summary> /// <returns>IEnumerable{BaseTaskTrigger}.</returns> - public IEnumerable<ITaskTrigger> GetDefaultTriggers() + public IEnumerable<TaskTriggerInfo> GetDefaultTriggers() { - return new ITaskTrigger[] { + return new[] { // At startup - new StartupTrigger(), + new TaskTriggerInfo {Type = TaskTriggerInfo.TriggerStartup}, // Every so often - new IntervalTrigger { Interval = TimeSpan.FromHours(24)} + new TaskTriggerInfo { Type = TaskTriggerInfo.TriggerInterval, IntervalTicks = TimeSpan.FromHours(24).Ticks} }; } + public string Key + { + get { return "PluginUpdates"; } + } + /// <summary> /// Update installed plugins /// </summary> diff --git a/MediaBrowser.Server.Implementations/ScheduledTasks/RefreshMediaLibraryTask.cs b/MediaBrowser.Server.Implementations/ScheduledTasks/RefreshMediaLibraryTask.cs index 64ae249cd..e8e557e76 100644 --- a/MediaBrowser.Server.Implementations/ScheduledTasks/RefreshMediaLibraryTask.cs +++ b/MediaBrowser.Server.Implementations/ScheduledTasks/RefreshMediaLibraryTask.cs @@ -7,13 +7,14 @@ using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; +using MediaBrowser.Model.Tasks; namespace MediaBrowser.Server.Implementations.ScheduledTasks { /// <summary> /// Class RefreshMediaLibraryTask /// </summary> - public class RefreshMediaLibraryTask : IScheduledTask, IHasKey + public class RefreshMediaLibraryTask : IScheduledTask { /// <summary> /// The _library manager @@ -32,18 +33,16 @@ namespace MediaBrowser.Server.Implementations.ScheduledTasks } /// <summary> - /// Gets the default triggers. + /// Creates the triggers that define when the task will run /// </summary> /// <returns>IEnumerable{BaseTaskTrigger}.</returns> - public IEnumerable<ITaskTrigger> GetDefaultTriggers() + public IEnumerable<TaskTriggerInfo> GetDefaultTriggers() { - var list = new ITaskTrigger[] { - - new IntervalTrigger{ Interval = TimeSpan.FromHours(12)} - - }.ToList(); - - return list; + return new[] { + + // Every so often + new TaskTriggerInfo { Type = TaskTriggerInfo.TriggerInterval, IntervalTicks = TimeSpan.FromHours(12).Ticks} + }; } /// <summary> diff --git a/MediaBrowser.Server.Implementations/ScheduledTasks/SystemUpdateTask.cs b/MediaBrowser.Server.Implementations/ScheduledTasks/SystemUpdateTask.cs index 0ba9d4f32..34a75c0c7 100644 --- a/MediaBrowser.Server.Implementations/ScheduledTasks/SystemUpdateTask.cs +++ b/MediaBrowser.Server.Implementations/ScheduledTasks/SystemUpdateTask.cs @@ -6,13 +6,14 @@ using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; +using MediaBrowser.Model.Tasks; namespace MediaBrowser.Server.Implementations.ScheduledTasks { /// <summary> /// Plugin Update Task /// </summary> - public class SystemUpdateTask : IScheduledTask, IHasKey + public class SystemUpdateTask : IScheduledTask { /// <summary> /// The _app host @@ -47,16 +48,15 @@ namespace MediaBrowser.Server.Implementations.ScheduledTasks /// Creates the triggers that define when the task will run /// </summary> /// <returns>IEnumerable{BaseTaskTrigger}.</returns> - public IEnumerable<ITaskTrigger> GetDefaultTriggers() + public IEnumerable<TaskTriggerInfo> GetDefaultTriggers() { - // Until we can vary these default triggers per server and MBT, we need something that makes sense for both - return new ITaskTrigger[] { + return new[] { // At startup - new StartupTrigger(), + new TaskTriggerInfo {Type = TaskTriggerInfo.TriggerStartup}, // Every so often - new IntervalTrigger { Interval = TimeSpan.FromHours(24)} + new TaskTriggerInfo { Type = TaskTriggerInfo.TriggerInterval, IntervalTicks = TimeSpan.FromHours(24).Ticks} }; } |
