zoukankan      html  css  js  c++  java
  • Quartz.NET 2.0 作业调度框架使用

    Quartz.NET是一个开源的作业调度框架,是 OpenSymphony 的 Quartz API 的.NET移植,它用C#写成,可用于winform和asp.net应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。它有很多特征,如:数据库支持,集群,插件,支持cron-like表达式等等。

    完成一个Quartz调度需要:调度器(IScheduler)、任务(JobDetail)、触发器(Trigger)

    无需配置文件代码如下:

    using Quartz.Impl;
    using System;
    
    namespace Quartz
    {
        class Program
        {
            static void Main(string[] args)
            {
                //调度器构造工厂
                ISchedulerFactory factory = new StdSchedulerFactory();
    
                //第一步:构造调度器
                IScheduler scheduler = factory.GetScheduler();
                scheduler.Start();//启动调度器
    
                //第二步:定义任务
                JobDetailImpl job = new JobDetailImpl("MyJob1", typeof(HandleClass));
    
                //第三步:定义触发器
                ITrigger trigger = TriggerBuilder.Create()
                    .WithIdentity("t1")//触发器名称
                    .ForJob(job)
                    .StartNow()
                    .WithSimpleSchedule(x => x.RepeatForever()
                        .WithIntervalInSeconds(1))//1s 执行一次 
                    .Build();
    
                //将任务与触发器添加到调度器中:
                scheduler.ScheduleJob(job, trigger);
            }
        }
    
        /// <summary>
        /// 工作类
        /// </summary>
        public class HandleClass : IJob
        {
            /// <summary>
            /// 任务调用的方法
            /// </summary>
            public void Execute(IJobExecutionContext context)
            {
                Console.WriteLine("hello work!");
            }
        }
    }

    源码地址: Quartz.zip

  • 相关阅读:
    多样三角形
    字符串转化去重
    捕获异常里面的特殊异常
    sqlalchemy.exc.CompileError: (in table 'language_label', column 'name'): VARCHAR requires a length o
    机器学习总结
    找出两个列表中相同元素与不同元素
    正则去重
    mysql5.7 安装重置密码
    chrome快捷键
    golang select
  • 原文地址:https://www.cnblogs.com/hanwen/p/4072436.html
Copyright © 2011-2022 走看看