关键词搜索

源码搜索 ×
×

Quartz.NET常用方法 02

发布2020-12-13浏览279次

详情内容

Calendar的常用类
DailyCalendar 排除每天某个时间段任务的执行
例子:


        var sche = StdSchedulerFactory.GetDefaultScheduler();
        sche.Start();

        //使任务在10点到11点间不再执行
        DailyCalendar cale = new DailyCalendar(
           DateBuilder.DateOf(10, 0, 0).DateTime,
           DateBuilder.DateOf(11, 0, 0).DateTime
        );
        sche.AddCalendar("myCalendar", cale, true, true); 

    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);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    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);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    MonthlyCalendar 排除每月某一天的c#教程任务的执行

    例子:

            var sche = StdSchedulerFactory.GetDefaultScheduler();
            sche.Start();
    
            MonthlyCalendar cale = new MonthlyCalendar();
            cale.SetDayExcluded(25, true);  //排除每个月25号执行
            sche.AddCalendar("myCalendar", cale, true, true);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    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);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    CronCalendar 通过python基础教程Cron表达式排除任务的执行

    例子:

            var sche = StdSchedulerFactory.GetDefaultScheduler();
            sche.Start();
    
            //只在营业时间执行8AM-5PM
            CronCalendar cale = new CronCalendar("* * 0-7,18-23 ? * *");
    
            sche.AddCalendar("myCalendar", cale, true, true);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    相关技术文章

    点击QQ咨询
    开通会员
    返回顶部
    ×
    微信扫码支付
    微信扫码支付
    确定支付下载
    请使用微信描二维码支付
    ×

    提示信息

    ×

    选择支付方式

    • 微信支付
    • 支付宝付款
    确定支付下载