Quartz.net 定时任务矿建Demo

1. 首先新建一个 window 控制台程序

2. 通过 nuget 的方式搜索并安装 Quartz 。 安装的时候回引入3个程序集 Quartz.dll 、Common.logging.dll 、 Common.logging.Core.dll 程序集
3. 穿件一个继承 IJob 的类,实现其中的 Excute() 方法,此方法中的内容就是制定时间内需要执行的任务。

 /// <summary>
    /// 具体的任务
    /// </summary>
    public class SampJob : Quartz.IJob
    {
        /// <summary>
        /// 每次需要执行的任务
        /// </summary>
        /// <param name="context">执行任务上下文</param>
        public void Execute(Quartz.IJobExecutionContext context)
        {
            Console.WriteLine(DateTime.Now.ToString("r") + "任务");
        }
    }

2. 在 program 程序中添加以下代码

 class Program
    {
        static void Main(string[] args)
        {
            // 1.0 创建一个作业调度池 -- 获取计划者
            ISchedulerFactory factory = new Quartz.Impl.StdSchedulerFactory();
            IScheduler scheduler = factory.GetScheduler();
            // 2.0 创建一个具体的作业
            IJobDetail job = JobBuilder.Create<SampJob>().Build();
            // 3.0 创建并配置一个触发器,每隔3秒钟执行一次,循环次数为 int 的最大值
            //ISimpleTrigger trigger = (ISimpleTrigger)TriggerBuilder.Create().WithSimpleSchedule(t => t.WithIntervalInSeconds(3).WithRepeatCount(int.MaxValue)).Build();

            // 3.1 创建并配置一个触发器, 引入 cron-like 表达式
            DateTimeOffset startTime = DateBuilder.NextGivenSecondDate(DateTime.Now.AddSeconds(1), 2); //NextGivenSecondDate:如果第一个参数为null则表名当前时间往后推迟2秒的时间点。
            DateTimeOffset endTime = DateBuilder.NextGivenSecondDate(DateTime.Now.AddYears(2), 3);
            // 创建并配置一个触发器
            ICronTrigger trigger = (ICronTrigger)TriggerBuilder.Create().StartAt(startTime).EndAt(endTime).WithCronSchedule("1,10,14 10,20,25,26,33,54 * * * ? ").Build();

            // 4.0 加入作业 调度池中
            scheduler.ScheduleJob(job, trigger);
            // 5.0 开始运行
            scheduler.Start();
            Console.ReadKey();
        }
    }
时间: 2024-11-12 02:11:54

Quartz.net 定时任务矿建Demo的相关文章

quartz spring配置实例代码demo下载

原文:quartz spring配置实例代码demo下载 源代码下载地址:http://www.zuidaima.com/share/1550463459560448.htm

【spring-boot】 springboot集成quartz实现定时任务

在做项目时有时候会有定时器任务的功能,比如某某时间应该做什么,多少秒应该怎么样之类的. spring支持多种定时任务的实现.我们来介绍下使用spring的定时器和使用quartz定时器 1.我们使用spring-boot作为基础框架,其理念为零配置文件,所有的配置都是基于注解和暴露bean的方式. 2.使用spring的定时器: spring自带支持定时器的任务实现.其可通过简单配置来使用到简单的定时任务. @Component @Configurable @EnableScheduling p

Spring Boot集成quartz实现定时任务并支持切换任务数据源

org.quartz实现定时任务并自定义切换任务数据源 在工作中经常会需要使用到定时任务处理各种周期性的任务,org.quartz是处理此类定时任务的一个优秀框架.随着项目一点点推进,此时我们并不满足于任务仅仅是定时执行,我们还想要对任务进行更多的控制,随时能对任务进行人为干预,就需要对quartz有更深入的了解.而随着微服务的流行,项目中多数据源的情况也越来越常见,在定时任务中集成多数据源切换的功能也需要集成进来. 集成quartz实现定时任务 集成quartz实现定时任务 quartz中实现

微信公众号的SpringBoot+Quartz的定时任务Demo

SpringBoot整合quartz并不难,难在普通类实现了Job接口后等于实例化交给quartz,不受Spring管理,则service层等等其他依赖的注入将无法注入,这也是难点之一. 解决方法: @Component public class MyJobFactory extends AdaptableJobFactory { @Autowired private AutowireCapableBeanFactory capableBeanFactory; @Override protect

jQuery的矿建结构小demo举例

(function (global) { var document = global.document,//变成局部变量提高搜索的性能 init;// 核心函数 function itcast(selector) { return new itcast.fn.init(selector); } // 核心原型--方法库 存储所有的方法 itcast.fn = itcast.prototype = { constructor: itcast, length: 0//确保时伪数组对象,伪数组没有元素

ssh中使用spring的集成quartz 开发定时任务

之前没有使用框架开发时对于开发定时任务都是 使用java的原声timer类,重写线程的run方法跑要执行的任务.刚刚换的新公司,项目使用ssh2,目前该项目中的定时任务的使用spirng集成的quartz工具,非常方便.好了,废话不多说,说一下开发过程. 首先,需要建一个资源配置xml文件,一般以quartz结尾.如我项目中的该文件名为:applicationContext-bms-sendxml-quartz.xml,别忘了在applicationContext.xml文件中导入该文件.app

基于SpringBoot &amp; Quartz完成定时任务分布式单节点持久化

构建项目 我们使用idea开发工具创建一个SpringBoot项目,pom.xml依赖配置如下所示: <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>

Spring+quartz 实现定时任务job集群配置

为什么要有集群定时任务? 因为如果多server都触发相同任务,又同时执行,那在99%的场景都是不适合的.比如银行每晚24:00都要汇总营业额.像下面3台server同时进行汇总,最终计算结果可能是真实结果的3倍,那对银行来说是无法想象的,完全不可接受. 集群定时任务工作原理 所以为了解决以上问题,每个server把将要及正在运行的job所有状态都即时同步到中央数据库,然后再次触发调用时从数据库中分析是否已有别的server正在运行相同job (同名同定时时间点的job属于相当job),如果相同

Quartz.net 定时任务之简单任务

一.概述 1.quartz.net 是一款从java quartz 上延伸出来的定时任务框架. 2.我在网上看到很多大神写过关于quartz.net 的博客.文章等,在这些博客文章里也学会了很多关于quartz的知识.今天博主也想写一篇关于quartz的文章(不足之处望大神斧正),希望能帮助正在学习quartz路上的兄弟姐妹,顺便也巩固自己. 3.quartz这篇博客会从最基础的开始,之后会逐渐的升级,如果有喜欢的兄弟姐妹,请关注我的博客,博主会持续更新 二.搭建 1.打开vs创建新的mvc空项