Quartz.NET 일반적인 방법 02

 이전 방법은 일반적으로이 섹션은 일정을 설명 작업과 트리거의 프리젠 테이션에 사용되는 역할은 특정 날짜와 시간을 제외하는 것입니다.

 
일반적인 클래스의 달력
DailyCalendar는 일상적인 작업을 수행하기 위해 일정 시간을 제외
예를 들면 :
        SCHE = VAR StdSchedulerFactory.GetDefaultScheduler (); 
        sche.Start (); // 작업이 더 이상 11 : 00 : 00 ~ 10 : 00 사이에 수행하지 않습니다  DailyCalendar 케일 = 새로운 새로운 DailyCalendar (DateBuilder.DateOf ( 10, 0, 0 ) .DateTime, DateBuilder. DateOf ( 11. 0, 0 .DateTime)); sche.AddCalendar ( " myCalendar ", 캐일, 참으로, 참으로);

        
 
선교 주간 매주 배제 WeeklyCalendar
예를 들면 :
        var sche = StdSchedulerFactory.GetDefaultScheduler();
        sche.Start();
        
        WeeklyCalendar cale = new WeeklyCalendar();
        cale.SetDayExcluded(DayOfWeek.Thursday, true);  //让星期四不触发Schedule //cale.SetDayExcluded(DayOfWeek.Thursday, false); //让星期四触发Schedule sche.AddCalendar("myCalendar", cale, true, true);
 
HolidayCalendar 排除某一天的任务的执行(如果涉及到同一天跨年的情况,需要多次添加不同年份)
例子:
        var sche = StdSchedulerFactory.GetDefaultScheduler();
        sche.Start();

        HolidayCalendar cale = new HolidayCalendar();
        cale.AddExcludedDate(DateTime.Now.AddYears(-1)); //排除去年的今天不处理 cale.AddExcludedDate(DateTime.Now); //排除今天不处理 sche.AddCalendar("myCalendar", cale, true, true);
 
MonthlyCalendar 排除每月某一天的任务的执行
例子:
        var sche = StdSchedulerFactory.GetDefaultScheduler();
        sche.Start();

        MonthlyCalendar cale = new MonthlyCalendar();
        cale.SetDayExcluded(25, true); //排除每个月25号执行 sche.AddCalendar("myCalendar", cale, true, true);
AnnualCalendar 排除每年某一天的任务的执行
例子:
        var sche = StdSchedulerFactory.GetDefaultScheduler();
        sche.Start();
        
        AnnualCalendar cale = new AnnualCalendar();
        //12月25号不执行 cale.SetDayExcluded(new DateTimeOffset(2018, 12, 25, 12, 0, 0, TimeSpan.FromHours(8)), true); sche.AddCalendar("myCalendar", cale, true, true);
 
CronCalendar 通过Cron表达式排除任务的执行
例子:
        var sche = StdSchedulerFactory.GetDefaultScheduler();
        sche.Start();

        //只在营业时间执行8AM-5PM
        CronCalendar cale = new CronCalendar("* * 0-7,18-23 ? * *"); sche.AddCalendar("myCalendar", cale, true, true);
 
 

추천

출처www.cnblogs.com/AlexanderArima/p/12106653.html