aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/ScheduledTasks/DailyTrigger.cs
diff options
context:
space:
mode:
authordkanada <dkanada@users.noreply.github.com>2019-01-31 15:12:18 +0900
committerdkanada <dkanada@users.noreply.github.com>2019-02-03 19:40:55 +0900
commit07072d9f7bf269926a4d7aad580e2e78c444a2cd (patch)
treeffbf89de9e37812e660dfdb5a4098a71d9b82e44 /Emby.Server.Implementations/ScheduledTasks/DailyTrigger.cs
parent7e3c45c917d707fcea048b2fe9621cf0774e3f98 (diff)
move all scheduled tasks and triggers into folders
Diffstat (limited to 'Emby.Server.Implementations/ScheduledTasks/DailyTrigger.cs')
-rw-r--r--Emby.Server.Implementations/ScheduledTasks/DailyTrigger.cs87
1 files changed, 0 insertions, 87 deletions
diff --git a/Emby.Server.Implementations/ScheduledTasks/DailyTrigger.cs b/Emby.Server.Implementations/ScheduledTasks/DailyTrigger.cs
deleted file mode 100644
index 98685cebe..000000000
--- a/Emby.Server.Implementations/ScheduledTasks/DailyTrigger.cs
+++ /dev/null
@@ -1,87 +0,0 @@
-using System;
-using System.Globalization;
-using System.Threading;
-using MediaBrowser.Model.Tasks;
-using Microsoft.Extensions.Logging;
-
-namespace Emby.Server.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 options of this task.
- /// </summary>
- public TaskOptions TaskOptions { get; set; }
-
- /// <summary>
- /// Gets or sets the timer.
- /// </summary>
- /// <value>The timer.</value>
- private Timer Timer { 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.LogInformation("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<EventArgs> Triggered;
-
- /// <summary>
- /// Called when [triggered].
- /// </summary>
- private void OnTriggered()
- {
- if (Triggered != null)
- {
- Triggered(this, EventArgs.Empty);
- }
- }
- }
-}