Browse Source

add safeguard on interval trigger duration

Luke Pulverenti 9 years ago
parent
commit
c90a30a0fe
1 changed files with 9 additions and 1 deletions
  1. 9 1
      MediaBrowser.Common/ScheduledTasks/IntervalTrigger.cs

+ 9 - 1
MediaBrowser.Common/ScheduledTasks/IntervalTrigger.cs

@@ -60,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>