Quartz.Net是一个从java版的Quartz移植过来的定时任务框架,可以实现异常灵活的定时任务。

  Quartz 有三个概念分别是 计划者(ISchedeler)、工作(IJob)、触发器(Trigger)。

  给计划者(Schedeler)一个工作(Job),让他在Trigger(某个条件)触发的条件下执行这个工作(Job),将要定时执行的任务代码写到实现IJob接口的Execute方法中即可使用,时间到来的时候Execute方法会被调用。

  首先安装nuget包 : Quartz

  创建Job:

 public class JobTest : IJob
{
public Task Execute(IJobExecutionContext context)
{
return Task.Run(() =>
{
try
{
Console.WriteLine("任务执行啦" + DateTime.Now);
}
catch (Exception ex)
{
ILog log = LogManager.GetLogger(typeof(JobTest));
log.Error("定时任务出错", ex);
}
});
}
}

创建Job

  创建计划者,触发器:

  private static void Main(string[] args)
{
IScheduler sched = new StdSchedulerFactory().GetScheduler().Result;//定义计划者
JobDetailImpl jbBossReport = new JobDetailImpl("JobTest", typeof(JobTest));//时间到来时,执行TestJob类中的context方法。同时给该执行任务命名为jdTest
var triggerBossReport = CronScheduleBuilder.CronSchedule("0/7 * * * * ?").Build(); //确定触发器
triggerBossReport.Key = new TriggerKey("triggerJobTest");//触发器命名为triggerJobTest
sched.ScheduleJob(jbBossReport, triggerBossReport);//计划者sched在触发器triggerBossReport执行的时候,进行jbBossReport工作。
sched.Start();
Console.ReadKey();
}

创建计划者,触发器

执行结果:

  cron表达式 参考 http://cron.qqe2.com/

详细参考:https://www.cnblogs.com/MicroHeart/p/9402731.html

定时任务 Quarzt的更多相关文章

  1. Asp.Net Core 使用Quartz基于界面画接口管理做定时任务

    今天抽出一点点时间来造一个小轮子,是关于定时任务这块的. 这篇文章主要从一下几点介绍: 创建数据库管理表 创建web项目 引入quarzt nuget 包 写具体配置操作,实现定时任务处理 第一步:创 ...

  2. Asp.Ner Core定时任务

    AspNet Core定时任务 纪念人类首张黑洞照片发布 第一种方式BackgroundService 基于后台服务类BackgroundService实现,类所在命名空间Microsoft.Exte ...

  3. Quarzt定时调度任务

    简介 Quarzt是一个项目中定时执行任务的开源项目,Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独 ...

  4. Java定时任务工具详解之Timer篇

    Java定时任务调度工具详解 什么是定时任务调度? ◆ 基于给定的时间点,给定的时间间隔或者给定的执行次数自动执行的任务. 在Java中的定时调度工具? ◆ Timer       ◆Quartz T ...

  5. Java定时任务的常用实现

    Java的定时任务有以下几种常用的实现方式: 1)Timer 2)ScheduledThreadPoolExecutor 3)Spring中集成Cron Quartz 接下来依次介绍这几类具体实现的方 ...

  6. [转]Java实现定时任务的三种方法

    在应用里经常都有用到在后台跑定时任务的需求.举个例子,比如需要在服务后台跑一个定时任务来进行非实时计算,清除临时数据.文件等.在本文里,我会给大家介绍3种不同的实现方法: 普通thread实现 Tim ...

  7. 使用python crontab设置linux定时任务

    熟悉linux的朋友应该知道在linux中可以使用crontab设置定时任务.可以通过命令crontab -e编写任务.当然也可以直接写配置文件设置任务. 但是有时候希望通过脚本自动设置,比如我们应用 ...

  8. C#定时任务组件之FluentScheduler

    FluentScheduler是.NET开源处理定时任务组件 1.任务的创建注册 public static void TaskActionByMinutes(Action action, int c ...

  9. 浅谈 linux 例行性工作 crontab (linux定时任务)

    定时任务大家都挺说过,就好比你手机上的闹钟,到了指定的时候就会响起. 今天在对redis缓存进行定时储存时又操作了一把,发现一些细节,写的不好.大家就将就看吧, 首先 简单介绍一下linux 例行性工 ...

随机推荐

  1. GIT 安装和升级

    git 安装: http://git-scm.com/download/mac git 升级: $ git clone git://git.kernel.org/pub/scm/git/git.git

  2. Java 12 骚操作, 文件比对居然还能这样玩!

    Java 13 都快要来了,12必须跟栈长学起! Java 13 即将发布,新特性必须抢先看! 之前分享了一些 Java 12 的骚操作,今天继续,今天要分享的是 Java 12 中的文件比对骚操作. ...

  3. 刷题记录:Shrine

    目录 刷题记录:Shrine 刷题记录:Shrine 题目复现链接:https://buuoj.cn/challenges 参考链接:Shrine 解此题总结一下flask的SSTI:CTF SSTI ...

  4. Linux Shell:Map的用法

    Map定义: 在使用map时,需要先声明,否则结果可能与预期不同,array可以不声明 方式1: declare -A myMap myMap[" 方式2: declare -A myMap ...

  5. Netty对WebSocket的支持

    WebSocket长连接 一.创建服务端代码 1.MyServer 类 public class MyServer { public static void main(String[] args) t ...

  6. Git初始配置【一】

    Git客户端的工作 安装完成后,还需要最后一步设置,在命令行输入 $ git config --global user.name "Your Name" $ git config ...

  7. js写评价的星星

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/ouqi_qiou/article/det ...

  8. Activiti6 应用安装 activiti-admin,activiti-app,activiti-rest

    activiti6安装包中 1/直接将三个war包放入tomcat中,即可运行,使用H2内存数据库 2/使用mysql数据库运行 2.1/activiti-admin # security confi ...

  9. PAT 甲级 1078 Hashing (25 分)(简单,平方二次探测)

    1078 Hashing (25 分)   The task of this problem is simple: insert a sequence of distinct positive int ...

  10. git bush 无法使用箭头进行选择

    1 找到git bash 的安装目录,找到bash.bashrc文件, 2 在文件的尾部加上:alias vue='winpty vue.cmd', 3 重启git bash 即可 来自:https: ...