Example #1
0
        private JobScheduleFrequencyBase GetJobScheduleFrequency()
        {
            JobScheduleFrequencyBase jobScheduleFrequency = null;
            var    timeFrequency = GetTimeFrequency();
            string frequencyType = this.ddlFrequency.Items[ddlFrequency.SelectedIndex].Value;

            switch (frequencyType)
            {
            case "daily":
                int dayCount = int.Parse(txtRecurDay.Value);
                jobScheduleFrequency = new DailyJobScheduleFrequency(dayCount, timeFrequency);
                break;

            case "weekly":
                List <DayOfWeek> weekdays = GetSelectedWeekday();
                jobScheduleFrequency = new WeeklyJobScheduleFrequency(weekdays, int.Parse(txtWeek.Value), timeFrequency);
                break;

            case "monthly":
                int days   = int.Parse(this.txtDayOfWeek.Value);
                int months = int.Parse(this.txtMonthCount.Value);
                jobScheduleFrequency = new MonthlyJobScheduleFrequency(days, months, timeFrequency);
                break;

            default:
                break;
            }
            //jobScheduleFrequency.LastModifyTime = DateTime.Now;

            return(jobScheduleFrequency);
        }
Example #2
0
        public void EstimateDailyRecurringTimeJobScheduleFrequencyTest()
        {
            DailyJobScheduleFrequency dailyFrequency = PrepareDailyRecurringJobSchedule(2);

            List <DateTime> estimateTime = dailyFrequency.EstimateExecuteTime(DateTime.Now, _TimeOffset, 20, TimeSpan.FromSeconds(10));

            estimateTime.ForEach(d => Console.WriteLine(d.ToString("yyyy-MM-dd HH:mm:ss")));
        }
Example #3
0
        public void NotInIntervalDailyFixdTimeJobScheduleFrequencyTest()
        {
            DailyJobScheduleFrequency dailyFrequency = PrepareDailyJobSchedule(2);

            DateTime startTime = DateTime.Now.Date.AddDays(1);
            DateTime timePoint = startTime + new TimeSpan(10, 10, 10);

            TimeScope scope = dailyFrequency.GetTimeScope(startTime, timePoint, _TimeOffset);

            Assert.IsNotNull(scope);
        }
Example #4
0
        /// <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);
        }
Example #5
0
        public void InIntervalDailyFixdTimeJobScheduleFrequencyTest()
        {
            DailyJobScheduleFrequency dailyFrequency = PrepareDailyJobSchedule(2);

            DateTime startTime = DateTime.Now.Date.AddDays(2);
            DateTime timePoint = startTime + new TimeSpan(10, 10, 10);

            TimeScope scope = dailyFrequency.GetTimeScope(startTime, timePoint, _TimeOffset);

            Assert.IsNotNull(scope);

            Console.WriteLine(scope.BeginTime);
            Console.WriteLine(scope.EndTime);

            Assert.AreEqual(new TimeSpan(10, 10, 10) - _TimeOffset, scope.BeginTime);
            Assert.AreEqual(new TimeSpan(10, 10, 10) + _TimeOffset, scope.EndTime);
        }
Example #6
0
		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;
		}