Преглед изворни кода

add safeguard on interval trigger duration

Luke Pulverenti пре 9 година
родитељ
комит
7ea5608683
1 измењених фајлова са 9 додато и 1 уклоњено
  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>