1、新建项目

简单实例,新建一个控制台程序

2、Nuget安装Quartz

3、编写代码

using Quartz;
using Quartz.Impl;
using Quartz.Logging;
using System;
using System.IO;
using System.Threading.Tasks;
namespace QuartzDotNetDemo
{
class Program
{
static async Task Main(string[] args)
{
LogProvider.SetCurrentLogProvider(new ConsoleLogProvider());
// 获取调度程序的实例
// 创建调度器工厂
StdSchedulerFactory factory = new StdSchedulerFactory();
// 创建调度器
IScheduler scheduler = await factory.GetScheduler();
// 启动
await scheduler.Start();
// 创建一个任务
IJobDetail job = JobBuilder.Create<HelloJob>().WithIdentity("job1", "group1").Build();
// 创建一个触发器
ITrigger trigger = TriggerBuilder.Create().WithIdentity("trigger1", "group1").StartNow().WithSimpleSchedule(x => x.WithIntervalInSeconds(10) // 间隔10秒执行一次
.RepeatForever()).Build();
// 将任务与出发器添加到调度器中
await scheduler.ScheduleJob(job, trigger);
// 延迟60秒后启动
await Task.Delay(TimeSpan.FromSeconds(60));
// 关闭
await scheduler.Shutdown();
Console.WriteLine("Press any key to close the application");
Console.ReadKey();
}
}
/// <summary>
/// 增加日志记录
/// </summary>
public class ConsoleLogProvider: ILogProvider
{
public Logger GetLogger(string name)
{
return(level, func, exception, parameters) =>
{
if(level >= LogLevel.Info && func != null)
{
Console.WriteLine("[" + DateTime.Now.ToLongTimeString() + "] [" + level + "] " + func(), parameters);
}
return true;
};
}
public IDisposable OpenMappedContext(string key, object value, bool destructure = false)
{
throw new NotImplementedException();
}
public IDisposable OpenNestedContext(string message)
{
throw new NotImplementedException();
}
}
/// <summary>
/// 简单的测试
/// </summary>
public class HelloJob: IJob
{
public async Task Execute(IJobExecutionContext context)
{
// 输出对控制台的问候
await Console.Out.WriteLineAsync("Greetings from HelloJob!");
}
}
}

4、执行效果

5、相关链接

Quartz.Net官网文档

一个简单的实例,如有帮助,欢迎点赞关注收藏!

Quartz.NET 任务调度框架的demo实例的更多相关文章

  1. 项目一:第十四天 1.在realm中动态授权 2.Shiro整合ehcache 缓存realm中授权信息 3.动态展示菜单数据 4.Quartz定时任务调度框架—Spring整合javamail发送邮件 5.基于poi实现分区导出

    1 Shiro整合ehCache缓存授权信息 当需要进行权限校验时候:四种方式url拦截.注解.页面标签.代码级别,当需要验证权限会调用realm中的授权方法   Shiro框架内部整合好缓存管理器, ...

  2. Quartz.Net任务调度框架

    Quartz.Net是一个开源的任务调度框架,非常强大,能够通过简单的配置帮助我们定时具体的操作. 相对于我们用的线程里面while(true)然后sleep来执行某个操作,应该算的上是高端,大气,上 ...

  3. spring整合quartz时间任务调度框架

    spring整合quartz框架 1.创建maven工程 2.导入jar包(pom.xml) <dependencies> <dependency> <groupId&g ...

  4. Quarzt.NET 任务调度框架

      Quartz.NET是一个开源的作业调度框架,是 OpenSymphony 的 Quartz API 的.NET移植,它用C#写成,可用于winform和asp.net应用中.它提供了巨大的灵活性 ...

  5. (转)Java任务调度框架Quartz入门教程指南(三)任务调度框架Quartz实例详解深入理解Scheduler,Job,Trigger,JobDetail

    http://blog.csdn.net/zixiao217/article/details/53053598 首先给一个简明扼要的理解: Scheduler 调度程序-任务执行计划表,只有安排进执行 ...

  6. Quartz框架调用Demo

    Quartz框架调用Demo 任务调度在JAVA应用程序中运用的十分普遍,掌握QUARTZ是必备的技能; 官网:http://www.quartz-scheduler.org/ 下载最新1.80资源包 ...

  7. Java任务调度框架Quartz入门

    Quartz[kwɔːts]:石英,其框架和名字一样简单朴素又不失魅力,在Java程序界,Quartz大名鼎鼎,很多Java应用几乎都集成或构建了一个定时任务调度系统,Quartz是一个定时任务调度框 ...

  8. 企业级任务调度框架Quartz(8) 线程在Quartz里的意义(2)

    前序:      做为企业里的任务调度框架,出现同一时间点同时运行两个任务,或者两个任务因为开始的执行时间和执行时间的长短,很有可能出现任务并发执行的情况:因为Quartz的实现是采用java编程,那 ...

  9. 企业级任务调度框架Quartz(3) 一个简单的Quartz 例子

    1. 一个简单的Quartz 工程     本示例应用比起众所周知的 System.out.println("Hello world from Quartz") 来还是要有趣些.当 ...

  10. 通过源码分析Java开源任务调度框架Quartz的主要流程

    通过源码分析Java开源任务调度框架Quartz的主要流程 从使用效果.调用链路跟踪.E-R图.循环调度逻辑几个方面分析Quartz. github项目地址: https://github.com/t ...

随机推荐

  1. 自学 TypeScript 第二天 编译选项

    前言: 昨天我们学习了 TS 的数据类型,不知道大家回去以后练习没练习,如果你练习了一定会发现一个问题,我们的 TS 好像和 JS 不太一样 JS 写完之后直接就可以放到页面上,就可以用了,而我们的 ...

  2. jquery组件解决option选项框的样式自定义方案

    记录一下今天工作中遇到的一个需求和自行找到的解决办法 需求: 在原始的select选项框中的增加一个标识.(我想增加一个具有样式的span元素,试了半天在option里无法添加span,更别说具有样式 ...

  3. JavaScript中的Error错误对象与自定义错误类型

    Error Error是JavaScript语言中的一个标准的内置对象,专门用于处理JS开发中的运行时错误. 当我们的JS代码在运行过程中发生错误的话,就会抛出Error对象,整个程序将会中断在错误发 ...

  4. 【每日一题】【遍历orSet】2022年2月1日-NC66 两个链表的第一个公共结点

    描述输入两个无环的单向链表,找出它们的第一个公共结点,如果没有公共节点则返回空.(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的) 输入描述:输入分为是3段,第 ...

  5. 5V升压8.4V,5V转8.4芯片电路图

    PW5300是电流模式升压DC-DC转换器.其内置0.2Ω功率MOSFET的PWM电路使该稳压器具有效高的功率效率.内部补偿网络还可以程度地减少了6个外部元件的数量.误差放大器的同相输入接到0.6V精 ...

  6. 介绍一款高性能分布式MQTT Broker(带web)

    SMQTTX介绍 SMQTTX是基于SMQTT的一次重大技术升级,基于Java开发的分布式MQTT集群,是一款高性能,高吞吐量,并且可以完成二次开发的优秀的开源MQTT broker,主要采用技术栈: ...

  7. 当 xxl-job 遇上 docker → 它晕了,但我不能乱!

    开心一刻 某次住酒店,晚上十点多叫了个外卖 过了一阵儿,外卖到了 因为酒店电梯要刷卡,所以我下楼去接 到了电梯口看到个模样不错的妹纸 我:是你么? 妹纸愣了下:嗯! 于是拉上进电梯回房间,正准备开始呢 ...

  8. windows 、linux文件互传-FileZilla

    1.下载免安装FileZilla并解压 2.打开.exe文件 3.点击左上角的文件->站点管理 4.点击新站点->进行配置相应的服务地址信息 5.连接上服务后,若需要将windows中的文 ...

  9. int类型bit都满了之后继续累加

    uint8_t的最大值是255,如果再加1那低8位都是0,最后结果也是0 #include<stdio.h> #define uint8_t unsigned char int main( ...

  10. VSCTF的Recovery

    题目如下: from random import randint from base64 import b64encode def validate(password: str) -> bool ...