C#的异步编程——Quartz.net

一、环境配置

1、.NET Framework 4.5.2

2、Quartz.NET 2.6.2

3、commom.Logging & commom.Logging.Core 3.4.1

二、思路

1、建立job和trigger,在job中绑定自己建的一个包含接口的类,trigger中绑定实时作业的时间间隔和调用次数

2、创建个包含接口的类如 DayDataJob 并且继承自Job接口;在类中写入执行的函数

        public void Execute(IJobExecutionContext context)
        {
             要执行的函数或者功能();

        }

三、实例代码

1、点击按钮执行开启任务

       private void Btn_start_Click(object sender, EventArgs e)

        {

            //初始化任务

            ISchedulerFactory schedFact = new StdSchedulerFactory();

            IScheduler sched = schedFact.GetScheduler();

            //开始任务

            sched.Start();
            IJobDetail job = JobBuilder.Create< DayDataJob>() // job中绑定自己建的一个包含接口的类,即包含要执行功能的类
                                .WithIdentity("myJobday", "group1")       //给定任务的名称和组名
                                .Build();

            // Trigger 绑定 job 并且现在运行, 10 days一个循环
            ITrigger trigger = TriggerBuilder.Create()
              .WithIdentity("myTriggerday", "group1")   //Trigger 的名称和组名
              .StartNow()                                                //现在执行
              .WithSimpleSchedule(x => x                    // 60x60x24x10
                  .WithIntervalInSeconds(86400)
                  .RepeatForever())                                   //一直循环执行
              .Build();


            sched.ScheduleJob(job, trigger);
        }

2、任务要执行的功能在DayDataJob.cs中

    public class DayDataJob : IJob

    {

            public void Execute(IJobExecutionContext context)
            {
                dayDataToDatabase();

            }

             public void dayDataToDatabase()

            {

                    功能代码;

            }

    }

四、执行的流程和注意点

1、创建任务sched

2、创建job绑定 自定义接口类,创建Trigger绑定参数,最后绑定到sched

3、创建 自定义接口类 如DayDataJob.cs,其中修改类使其继承IJob

4、在类中写入执行的函数public void Execute(IJobExecutionContext context),里面写要执行的功能,也可以将功能封装再调用,如实例

发布了33 篇原创文章 · 获赞 43 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/qq_31967985/article/details/81031150