浏览代码

add safeguard on interval trigger duration

Luke Pulverenti 9 年之前
父节点
当前提交
c90a30a0fe
共有 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);
                 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>
         /// <summary>