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

  • 相关阅读:
    (转+原)python中的浅拷贝和深拷贝
    (原)torch7中添加新的层
    (原+转)ubuntu终端输出彩色文字
    (原)torch中显示nn.Sequential()网络的详细情况
    (原)python中使用plt.show()时显示图像
    eclipse 注释模板
    leetcode 11 最大盛水容器
    leetcode 9 回文数字
    leetcode8 字符串转整数
    利用Intent启动activity的例子
  • 原文地址:https://www.cnblogs.com/hanwen/p/4072436.html
Copyright © 2011-2022 走看看