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

  • 相关阅读:
    前后端交互中出现的问题(五)
    前后端交互中出现的问题(四)
    前后端交互中出现的问题(三)
    生成ssh密码并且添加到git远程仓库
    快捷键
    阿里一面
    B树,B+树的插入删除操作
    乐观锁与悲观锁
    并发编程中的Callable,Future,FitureTask
    java并发包下的lock接口与syschronized关键字的区别
  • 原文地址:https://www.cnblogs.com/hanwen/p/4072436.html
Copyright © 2011-2022 走看看