Explorar o código

add safeguard on interval trigger duration

Luke Pulverenti %!s(int64=9) %!d(string=hai) anos
pai
achega
c90a30a0fe
Modificáronse 1 ficheiros con 9 adicións e 1 borrados
  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>