diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-10-29 16:02:21 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-10-29 16:02:21 -0400 |
| commit | da20e8dcd2867df0a9a6ebc1081edb2db2eebdef (patch) | |
| tree | 0c00e59c5def4263126353e63bd79b9464b60b10 /MediaBrowser.Common.Implementations/ScheduledTasks/DailyTrigger.cs | |
| parent | e5d71c1014cc2d78e5004d0736e321b350b7bb64 (diff) | |
continue with .net core targeting
Diffstat (limited to 'MediaBrowser.Common.Implementations/ScheduledTasks/DailyTrigger.cs')
| -rw-r--r-- | MediaBrowser.Common.Implementations/ScheduledTasks/DailyTrigger.cs | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/MediaBrowser.Common.Implementations/ScheduledTasks/DailyTrigger.cs b/MediaBrowser.Common.Implementations/ScheduledTasks/DailyTrigger.cs deleted file mode 100644 index ab1d8f02d..000000000 --- a/MediaBrowser.Common.Implementations/ScheduledTasks/DailyTrigger.cs +++ /dev/null @@ -1,91 +0,0 @@ -using System; -using System.Globalization; -using System.Threading; -using MediaBrowser.Model.Events; -using MediaBrowser.Model.Logging; -using MediaBrowser.Model.Tasks; - -namespace MediaBrowser.Common.Implementations.ScheduledTasks -{ - /// <summary> - /// Represents a task trigger that fires everyday - /// </summary> - public class DailyTrigger : ITaskTrigger - { - /// <summary> - /// Get the time of day to trigger the task to run - /// </summary> - /// <value>The time of day.</value> - public TimeSpan TimeOfDay { get; set; } - - /// <summary> - /// Gets or sets the timer. - /// </summary> - /// <value>The timer.</value> - private Timer Timer { get; set; } - - /// <summary> - /// Gets the execution properties of this task. - /// </summary> - /// <value> - /// The execution properties of this task. - /// </value> - public TaskExecutionOptions TaskOptions { get; set; } - - /// <summary> - /// Stars waiting for the trigger action - /// </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, ILogger logger, string taskName, bool isApplicationStartup) - { - DisposeTimer(); - - var now = DateTime.Now; - - var triggerDate = now.TimeOfDay > TimeOfDay ? now.Date.AddDays(1) : now.Date; - triggerDate = triggerDate.Add(TimeOfDay); - - 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> - /// Stops waiting for the trigger action - /// </summary> - public void Stop() - { - DisposeTimer(); - } - - /// <summary> - /// Disposes the timer. - /// </summary> - private void DisposeTimer() - { - if (Timer != null) - { - Timer.Dispose(); - } - } - - /// <summary> - /// Occurs when [triggered]. - /// </summary> - public event EventHandler<GenericEventArgs<TaskExecutionOptions>> Triggered; - - /// <summary> - /// Called when [triggered]. - /// </summary> - private void OnTriggered() - { - if (Triggered != null) - { - Triggered(this, new GenericEventArgs<TaskExecutionOptions>(TaskOptions)); - } - } - } -} |
