private TimeFrequencyBase GetTimeFrequency() { TimeFrequencyBase TimeFrequency = null; if (this.radioRecurDayOnce.Checked) { string timeValue = this.execOnceTime.Value; var time = DateTime.Parse(timeValue); TimeFrequency = new FixedTimeFrequency(time.TimeOfDay); } else if (this.radioRecurDayPeriod.Checked) { int interval = int.Parse(txtIntervalTimeFrequency.Value); IntervalUnit unit = (IntervalUnit)int.Parse(ddlIntervalTimeFrequencyUnit.Items[ddlIntervalTimeFrequencyUnit.SelectedIndex].Value); string startTimeValue = this.execTimeFrequencyStartTime.Value; var startTime = DateTime.Parse(startTimeValue); string endTimeValue = this.execTimeFrequencyEndTime.Value; var endTime = DateTime.Parse(endTimeValue); TimeFrequency = new RecurringTimeFrequency(interval, unit, startTime.TimeOfDay, endTime.TimeOfDay); } return(TimeFrequency); }
private static JobSchedule CreateImmediatelySchedule() { DateTime nextTime = DateTime.Now.AddSeconds(2); FixedTimeFrequency frequency = new FixedTimeFrequency(new TimeSpan(nextTime.Hour, nextTime.Minute, nextTime.Second)); return(new JobSchedule(UuidHelper.NewUuidString(), "立即执行的计划", DateTime.Now, null)); }
/// <summary> /// 创建立即调度的计划 /// </summary> /// <returns></returns> internal static JobSchedule CreateImmediateSchedule() { DateTime now = DateTime.Now; DateTime execTime = now.AddSeconds(2); FixedTimeFrequency timeFrequency = new FixedTimeFrequency(new TimeSpan(execTime.Hour, execTime.Minute, execTime.Second)); DailyJobScheduleFrequency frequency = new DailyJobScheduleFrequency(1, timeFrequency); JobSchedule schedule = new JobSchedule(UuidHelper.NewUuidString(), "立即执行", DateTime.Now, frequency); schedule.SchduleType = JobSchduleType.Temporary; schedule.StartTime = now.AddHours(-1); schedule.EndTime = now.AddDays(1); return(schedule); }
private static JobSchedule CreateMonthlySchedule() { string schID = Guid.NewGuid().ToString(); string schName = "TestName" + DateTime.Now.ToString(); DateTime startTime = new DateTime(2011, 4, 1); DateTime endTime = new DateTime(2012, 4, 1); TimeFrequencyBase timeFrequency = new FixedTimeFrequency(new TimeSpan(9, 0, 0)); JobScheduleFrequencyBase schFrequency = new MonthlyJobScheduleFrequency(10, 1, timeFrequency); schFrequency.ID = Guid.NewGuid().ToString(); JobSchedule schedule = new JobSchedule(schID, schName, startTime, endTime, schFrequency); return(schedule); }
public void AfterMidnightFixedTimeFrequencyTest() { TimeSpan occurTime = new TimeSpan(0, 0, 0); FixedTimeFrequency frequency = new FixedTimeFrequency(occurTime); Console.WriteLine(frequency.Description); TimeScope scope = frequency.GetTimeScope(new TimeSpan(0, 0, 5), _TimeOffset); Assert.IsNotNull(scope); Console.WriteLine(scope.BeginTime); Console.WriteLine(scope.EndTime); Assert.AreEqual(occurTime - _TimeOffset, scope.BeginTime); Assert.AreEqual(occurTime + _TimeOffset, scope.EndTime); }
public void WithLastExeTimeMatchWeekIntervalWeeklyFixdTimeJobScheduleFrequencyTest() { List <DayOfWeek> daysList = new List <DayOfWeek>(); daysList.Add(DayOfWeek.Monday); daysList.Add(DayOfWeek.Tuesday); daysList.Add(DayOfWeek.Wednesday); daysList.Add(DayOfWeek.Thursday); daysList.Add(DayOfWeek.Friday); FixedTimeFrequency frequency = new FixedTimeFrequency(new TimeSpan(6, 0, 0)); WeeklyJobScheduleFrequency weeklyFrequency = new WeeklyJobScheduleFrequency(daysList, 1, frequency); DateTime startTime = new DateTime(2013, 5, 31); DateTime lastExeTime = new DateTime(2013, 7, 30, 5, 59, 27); DateTime checkPoint = new DateTime(2013, 7, 30, 6, 0, 27); bool result = weeklyFrequency.IsNextExecuteTime(startTime, lastExeTime, checkPoint, TimeSpan.FromSeconds(60 / 2 * 1.1)); Assert.IsFalse(result); }
public void WithLastExeTimeMatchWeekIntervalWeeklyFixdTimeJobScheduleFrequencyTest() { List<DayOfWeek> daysList = new List<DayOfWeek>(); daysList.Add(DayOfWeek.Monday); daysList.Add(DayOfWeek.Tuesday); daysList.Add(DayOfWeek.Wednesday); daysList.Add(DayOfWeek.Thursday); daysList.Add(DayOfWeek.Friday); FixedTimeFrequency frequency = new FixedTimeFrequency(new TimeSpan(6, 0, 0)); WeeklyJobScheduleFrequency weeklyFrequency = new WeeklyJobScheduleFrequency(daysList, 1, frequency); DateTime startTime = new DateTime(2013, 5, 31); DateTime lastExeTime = new DateTime(2013, 7, 30, 5, 59, 27); DateTime checkPoint = new DateTime(2013, 7, 30, 6, 0, 27); bool result = weeklyFrequency.IsNextExecuteTime(startTime, lastExeTime, checkPoint, TimeSpan.FromSeconds(60 / 2 * 1.1)); Assert.IsFalse(result); }
private static JobSchedule CreateImmediatelySchedule() { DateTime nextTime = DateTime.Now.AddSeconds(2); FixedTimeFrequency frequency = new FixedTimeFrequency(new TimeSpan(nextTime.Hour, nextTime.Minute, nextTime.Second)); return new JobSchedule(UuidHelper.NewUuidString(), "立即执行的计划", DateTime.Now, null); }
private static JobSchedule CreateSingleTimeSchedule() { DateTime now = DateTime.Now; DateTime execTime = now.AddSeconds(6); FixedTimeFrequency timeFrequency = new FixedTimeFrequency(new TimeSpan(execTime.Hour, execTime.Minute, execTime.Second)); DailyJobScheduleFrequency frequency = new DailyJobScheduleFrequency(1, timeFrequency); JobSchedule schedule = new JobSchedule(UuidHelper.NewUuidString(), "一般调度", now.AddDays(-1), frequency); schedule.SchduleType = JobSchduleType.Temporary; schedule.EndTime = now.AddHours(1); return schedule; }