C#定时任务框架Quartz.NET 简单Demo

 安装程序包:

install-package Quartz

注:项目自身的 framework 不能低于 4.6.1

难点是如何根据实际需要设置触发器。

using Quartz;
using Quartz.Impl;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace QuartzDemo
{
    class Program
    {
        static async Task Main(string[] args)
        {
            //创建一个工作
            IJobDetail job = JobBuilder.Create<TestJob>()
                .WithIdentity("TestJob", "Test")
                .Build();

            //创建一个触发条件
            ITrigger trigger = TriggerBuilder.Create()
               .WithIdentity("TestJobTrigger", "Test")
               .WithSimpleSchedule(x =>{ x.WithIntervalInSeconds(3).RepeatForever(); })     //每3秒执行一次
               //.WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(9,50))                //上午 9 点 50 执行一次
               .Build();

            StdSchedulerFactory factory = new StdSchedulerFactory();
            //创建任务调度器
            IScheduler scheduler = await factory.GetScheduler();
            //启动任务调度器
            await scheduler.Start();

            //将创建的任务和触发器条件添加到创建的任务调度器当中
            await scheduler.ScheduleJob(job, trigger);
            Console.Read();
        }
    }

    public class TestJob : IJob
    {
        public async Task Execute(IJobExecutionContext context)
        {
            await Console.Out.WriteLineAsync($"{DateTime.Now}: Hello!");
        }
    }
}

参考:

http://wjhsh.net/zh7791-p-14277941.html 


版权声明:本文为yenange原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。