예제 #1
0
        public void PushTask(string name, Action doAction, TimeSpan executeTime)
        {
            ScheduleTask task = new ScheduleTask(name, executeTime, delegate(ScheduleTask sender, object data)
            {
                try
                {
                    doAction();
                }
                finally
                {
                    sender.IntervalMilliseconds = (long)CalcInterval((TimeSpan)data);
                }
            }, (int)CalcInterval(executeTime));

            PushTask(task);
        }
예제 #2
0
 public void PushTask(ScheduleTask task, bool executeImmediately)
 {
     task.Owner = this;
     if (!executeImmediately)
     {
         task.CalcNewExecuteTime();
     }
     lock (_tasks)
     {
         if (_tasks.ContainsKey(task.Name))
         {
             throw new Exception("The schedule task '" + task.Name + "' exists!");
         }
         _tasks.Add(task.Name, task);
     }
     ResetTimer();
 }
예제 #3
0
파일: Scheduler.cs 프로젝트: nkaluva/helper
 public ScheduleTaskExceptionEventArgs(Exception ex, ScheduleTask task)
 {
     Error = ex;
     Task = task;
 }
예제 #4
0
파일: Scheduler.cs 프로젝트: nkaluva/helper
        public void PushTask(string name, Action doAction, TimeSpan executeTime)
        {
            ScheduleTask task = new ScheduleTask(name, executeTime, delegate(ScheduleTask sender, object data)
            {

                try
                {
                    doAction();
                }
                finally
                {
                    sender.IntervalMilliseconds = (long)CalcInterval((TimeSpan)data);
                }
            }, (int)CalcInterval(executeTime));
            PushTask(task);
        }
예제 #5
0
파일: Scheduler.cs 프로젝트: nkaluva/helper
 public void PushTask(ScheduleTask task, bool executeImmediately)
 {
     task.Owner = this;
     if (!executeImmediately)
     {
         task.CalcNewExecuteTime();
     }
     lock (_tasks)
     {
         if (_tasks.ContainsKey(task.Name))
         {
             throw new Exception("The schedule task '" + task.Name + "' exists!");
         }
         _tasks.Add(task.Name, task);
     }
     ResetTimer();
 }
예제 #6
0
파일: Scheduler.cs 프로젝트: nkaluva/helper
 public void PushTask(ScheduleTask task)
 {
     PushTask(task, false);
 }
예제 #7
0
 public void PushTask(ScheduleTask task)
 {
     PushTask(task, false);
 }
예제 #8
0
 public ScheduleTaskExceptionEventArgs(Exception ex, ScheduleTask task)
 {
     Error = ex;
     Task  = task;
 }
예제 #9
0
 public static void PushTask(ScheduleTask task, bool executeImmediately)
 {
     _scheduler.PushTask(task, executeImmediately);
 }
예제 #10
0
 public static void PushTask(ScheduleTask task)
 {
     _scheduler.PushTask(task);
 }
예제 #11
0
 public static void PushTask(ScheduleTask task, bool executeImmediately)
 {
     _scheduler.PushTask(task, executeImmediately);
 }
예제 #12
0
 public static void PushTask(ScheduleTask task)
 {
     _scheduler.PushTask(task);
 }