diff options
Diffstat (limited to 'MediaBrowser.Common')
7 files changed, 30 insertions, 8 deletions
diff --git a/MediaBrowser.Common/Net/HttpRequestOptions.cs b/MediaBrowser.Common/Net/HttpRequestOptions.cs index 75368a5fc..1a7f414a7 100644 --- a/MediaBrowser.Common/Net/HttpRequestOptions.cs +++ b/MediaBrowser.Common/Net/HttpRequestOptions.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Net; using System.Threading; namespace MediaBrowser.Common.Net @@ -16,6 +17,8 @@ namespace MediaBrowser.Common.Net /// <value>The URL.</value> public string Url { get; set; } + public DecompressionMethods? DecompressionMethod { get; set; } + /// <summary> /// Gets or sets the accept header. /// </summary> diff --git a/MediaBrowser.Common/ScheduledTasks/DailyTrigger.cs b/MediaBrowser.Common/ScheduledTasks/DailyTrigger.cs index 382a41255..3d33e958d 100644 --- a/MediaBrowser.Common/ScheduledTasks/DailyTrigger.cs +++ b/MediaBrowser.Common/ScheduledTasks/DailyTrigger.cs @@ -1,7 +1,9 @@ using MediaBrowser.Model.Events; using MediaBrowser.Model.Tasks; using System; +using System.Globalization; using System.Threading; +using MediaBrowser.Model.Logging; namespace MediaBrowser.Common.ScheduledTasks { @@ -35,7 +37,7 @@ namespace MediaBrowser.Common.ScheduledTasks /// </summary> /// <param name="lastResult">The last result.</param> /// <param name="isApplicationStartup">if set to <c>true</c> [is application startup].</param> - public void Start(TaskResult lastResult, bool isApplicationStartup) + public void Start(TaskResult lastResult, ILogger logger, string taskName, bool isApplicationStartup) { DisposeTimer(); @@ -44,7 +46,11 @@ namespace MediaBrowser.Common.ScheduledTasks var triggerDate = now.TimeOfDay > TimeOfDay ? now.Date.AddDays(1) : now.Date; triggerDate = triggerDate.Add(TimeOfDay); - Timer = new Timer(state => OnTriggered(), null, triggerDate - now, TimeSpan.FromMilliseconds(-1)); + var dueTime = triggerDate - now; + + logger.Info("Daily trigger for {0} set to fire at {1}, which is {2} minutes from now.", taskName, triggerDate.ToString(), dueTime.TotalMinutes.ToString(CultureInfo.InvariantCulture)); + + Timer = new Timer(state => OnTriggered(), null, dueTime, TimeSpan.FromMilliseconds(-1)); } /// <summary> diff --git a/MediaBrowser.Common/ScheduledTasks/ITaskTrigger.cs b/MediaBrowser.Common/ScheduledTasks/ITaskTrigger.cs index 8c87f8f38..ef1ea9d38 100644 --- a/MediaBrowser.Common/ScheduledTasks/ITaskTrigger.cs +++ b/MediaBrowser.Common/ScheduledTasks/ITaskTrigger.cs @@ -1,6 +1,7 @@ using MediaBrowser.Model.Events; using MediaBrowser.Model.Tasks; using System; +using MediaBrowser.Model.Logging; namespace MediaBrowser.Common.ScheduledTasks { @@ -19,7 +20,7 @@ namespace MediaBrowser.Common.ScheduledTasks /// </summary> /// <param name="lastResult">The last result.</param> /// <param name="isApplicationStartup">if set to <c>true</c> [is application startup].</param> - void Start(TaskResult lastResult, bool isApplicationStartup); + void Start(TaskResult lastResult, ILogger logger, string taskName, bool isApplicationStartup); /// <summary> /// Stops waiting for the trigger action diff --git a/MediaBrowser.Common/ScheduledTasks/IntervalTrigger.cs b/MediaBrowser.Common/ScheduledTasks/IntervalTrigger.cs index e07dfcceb..8038d5551 100644 --- a/MediaBrowser.Common/ScheduledTasks/IntervalTrigger.cs +++ b/MediaBrowser.Common/ScheduledTasks/IntervalTrigger.cs @@ -3,6 +3,7 @@ using MediaBrowser.Model.Tasks; using System; using System.Linq; using System.Threading; +using MediaBrowser.Model.Logging; namespace MediaBrowser.Common.ScheduledTasks { @@ -38,7 +39,7 @@ namespace MediaBrowser.Common.ScheduledTasks /// </summary> /// <param name="lastResult">The last result.</param> /// <param name="isApplicationStartup">if set to <c>true</c> [is application startup].</param> - public void Start(TaskResult lastResult, bool isApplicationStartup) + public void Start(TaskResult lastResult, ILogger logger, string taskName, bool isApplicationStartup) { DisposeTimer(); @@ -59,7 +60,15 @@ namespace MediaBrowser.Common.ScheduledTasks triggerDate = DateTime.UtcNow.AddMinutes(1); } - Timer = new Timer(state => OnTriggered(), null, triggerDate - DateTime.UtcNow, TimeSpan.FromMilliseconds(-1)); + var dueTime = triggerDate - DateTime.UtcNow; + var maxDueTime = TimeSpan.FromDays(7); + + if (dueTime > maxDueTime) + { + dueTime = maxDueTime; + } + + Timer = new Timer(state => OnTriggered(), null, dueTime, TimeSpan.FromMilliseconds(-1)); } /// <summary> diff --git a/MediaBrowser.Common/ScheduledTasks/StartupTrigger.cs b/MediaBrowser.Common/ScheduledTasks/StartupTrigger.cs index 1d82dc76a..41f58a7ad 100644 --- a/MediaBrowser.Common/ScheduledTasks/StartupTrigger.cs +++ b/MediaBrowser.Common/ScheduledTasks/StartupTrigger.cs @@ -2,6 +2,7 @@ using MediaBrowser.Model.Tasks; using System; using System.Threading.Tasks; +using MediaBrowser.Model.Logging; namespace MediaBrowser.Common.ScheduledTasks { @@ -30,7 +31,7 @@ namespace MediaBrowser.Common.ScheduledTasks /// </summary> /// <param name="lastResult">The last result.</param> /// <param name="isApplicationStartup">if set to <c>true</c> [is application startup].</param> - public async void Start(TaskResult lastResult, bool isApplicationStartup) + public async void Start(TaskResult lastResult, ILogger logger, string taskName, bool isApplicationStartup) { if (isApplicationStartup) { diff --git a/MediaBrowser.Common/ScheduledTasks/SystemEventTrigger.cs b/MediaBrowser.Common/ScheduledTasks/SystemEventTrigger.cs index eaf4afc75..9972dc804 100644 --- a/MediaBrowser.Common/ScheduledTasks/SystemEventTrigger.cs +++ b/MediaBrowser.Common/ScheduledTasks/SystemEventTrigger.cs @@ -3,6 +3,7 @@ using MediaBrowser.Model.Tasks; using Microsoft.Win32; using System; using System.Threading.Tasks; +using MediaBrowser.Model.Logging; namespace MediaBrowser.Common.ScheduledTasks { @@ -30,7 +31,7 @@ namespace MediaBrowser.Common.ScheduledTasks /// </summary> /// <param name="lastResult">The last result.</param> /// <param name="isApplicationStartup">if set to <c>true</c> [is application startup].</param> - public void Start(TaskResult lastResult, bool isApplicationStartup) + public void Start(TaskResult lastResult, ILogger logger, string taskName, bool isApplicationStartup) { switch (SystemEvent) { diff --git a/MediaBrowser.Common/ScheduledTasks/WeeklyTrigger.cs b/MediaBrowser.Common/ScheduledTasks/WeeklyTrigger.cs index 2e38264b2..318802e07 100644 --- a/MediaBrowser.Common/ScheduledTasks/WeeklyTrigger.cs +++ b/MediaBrowser.Common/ScheduledTasks/WeeklyTrigger.cs @@ -1,6 +1,7 @@ using System; using System.Threading; using MediaBrowser.Model.Events; +using MediaBrowser.Model.Logging; using MediaBrowser.Model.Tasks; namespace MediaBrowser.Common.ScheduledTasks @@ -41,7 +42,7 @@ namespace MediaBrowser.Common.ScheduledTasks /// </summary> /// <param name="lastResult">The last result.</param> /// <param name="isApplicationStartup">if set to <c>true</c> [is application startup].</param> - public void Start(TaskResult lastResult, bool isApplicationStartup) + public void Start(TaskResult lastResult, ILogger logger, string taskName, bool isApplicationStartup) { DisposeTimer(); |
