• Quartz.NET simple_demo


    Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等。 Quartz.NET允许开发人员根据时间间隔(或天)来调度作业。它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器关联。整合了 Quartz.NET的应用程序可以重用来自不同事件的作业,还可以为一个事件组合多个作业。

    使用时需要引用:Quartz.dll

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace demo1_querz.net
    {
        class Program
        {
            static void Main(string[] args)
            {
                new SimpleExample1().Run();
                Console.Read();
            }
        }
    }

    配置简单定时任务

    using Quartz;
    using Quartz.Impl;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace demo1_querz.net
    {
        class SimpleExample1:IExample
        {
            public string Name
            {
                get { return "Simple Task One"; }
            }
    
            public virtual void Run()
            {
    
                // First we must get a reference to a scheduler
                ISchedulerFactory sf = new StdSchedulerFactory();
                IScheduler sched = sf.GetScheduler();
                // job 1 will run every 20 seconds
                IJobDetail job = JobBuilder.Create<SimpleJobOne>()
                    .WithIdentity("job1", "group1")
                    .Build();
    
                ICronTrigger trigger = (ICronTrigger)TriggerBuilder.Create()
                                                          .WithIdentity("trigger1", "group1")
                                                          .WithCronSchedule("10 0/1 * * * ? ")
                                                          .Build();
                DateTimeOffset ft = sched.ScheduleJob(job, trigger);
                sched.Start();
    
            }
        }
    }
    using Quartz;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace demo1_querz.net
    {
        public class SimpleJobOne:IJob
        {
    //需要继承IJob
    public virtual void Execute(IJobExecutionContext context) { JobKey jobkey = context.JobDetail.Key; new SendMsg().FuRun(); } } }

    需要执行的方法

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace demo1_querz.net
    {
       public class SendMsg
        {
           public void FuRun() 
           {
               Console.WriteLine("Prefrom Simple Task One time as "+DateTime.Now.ToString());
           }
        }
    }

    运行结果为:每分钟执行一次 Simple Task One

     

    参考

    官方学习文档:http://www.quartz-scheduler.net/documentation/index.html

    使用实例介绍:http://www.quartz-scheduler.net/documentation/quartz-2.x/quick-start.html

  • 相关阅读:
    fastcgi与cgi的区别
    oracle启动脚本
    oracle表空间大小的限制和DB_BLOCK_SIZE的概念
    静默安装Oracle11G
    ls 指令的介绍
    cronolog日志切割catalina.out
    oracle expdp自动备份脚本
    tomcat开启自启动
    oracle listener.ora文件配置
    CentOS 7.0 上安装和配置 VNC 服务器
  • 原文地址:https://www.cnblogs.com/wupenglei/p/5713782.html
Copyright © 2020-2023  润新知