Net Core 使用 Quartz

复杂的业务系统经常伴随各种统计作业,许多会定时在深夜时间执行,Quartz是一套开源的作业调度框架,比较适合日常系统各种业务的定时处理
首先创建一个控制台应用程序,添加Quartz依赖包
 "Quartz" Version="3.0.7" />

Quartz是3个组成部分,调度器,任务,触发器

创建一个任务
    public Task Execute(IJobExecutionContext context)        {            return Task.Run(() =>            {                var wtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");                string path = "/demo.log";                using (StreamWriter sw = new StreamWriter(path, true))                {                    sw.WriteLine("执行作业" + wtime);                }            });        }
调度器结合任务和触发器,触发器定义任务的执行时间,执行间隔
static void Main(string[] args)        {            Console.WriteLine("开始作业");            IScheduler scheduler;            ISchedulerFactory factory = new StdSchedulerFactory();            scheduler = factory.GetScheduler().Result;            IJobDetail testJobDetail = JobBuilder.Create<DemoJob>().WithIdentity("DemoJob").Build();            ITrigger testJobTrigger = TriggerBuilder.Create().WithCronSchedule("0/5 * * * * ? *").Build();            scheduler.ScheduleJob(testJobDetail, testJobTrigger);            scheduler.Start();            while (true)            {             }        }
运行程序,可以看出每隔5秒打印出作业执行时间

cron 表达式使用工具生成
0/5 * * * * ? *

表示每隔5秒执行一次

更多了解cron 表达式 ,可以用https://cron.qqe2.com/ 访问官网工具生成

使用Quartz总结

JobDetail绑定指定的Job,调度器首先New一个Job实例,然后触发器Trigger会去通知Scheduler何时去执行对应Job

获取源码:https://github.com/alindada/netcore/tree/main/NetCore.Quartz

quartz 每30秒执行一次_Net Core 使用 Quartz相关推荐

  1. quartz 每30秒执行一次_作业调度框架 Quartz 学习笔记(三) -- Cron表达式

    前面两篇说的是简单的触发器(SimpleTrigger) , SimpleTrigger 只能处理简单的事件出发,如果想灵活的进行任务的触发,就要请出 CronTrigger 这个重要人物了. Cro ...

  2. quartz 每30秒执行一次_30条一眼就让人心动的文案:每一次黄昏,都是坠入思念的夜深。...

    01/ 云把水倒在河的水杯里,它们自己却藏在远山之中.-泰戈尔 02/ 太阳是偷吃了小蛋糕和梅子酒的月亮,白天减肥,晚上放纵,日日如此. 03/ 是槐花院落闲散的人,满襟酒气.小池塘边跌坐看鱼,眉挑烟 ...

  3. android 定时器5秒执行一次,如何在android中每30秒执行一次查询?

    我有一个查询,我想每30秒执行一次并将其记录到Logcat.我是通过处理程序完成的,我没有得到回应.如何在android中每30秒执行一次查询? 这里是我的代码: runnable = new Run ...

  4. CentOS7设置定时任务 每隔30秒执行一次命令详解

    ** 由于项目需要,需要在服务器中同步日志文件,因此用到linux定时任务 服务器版本如下: ** Linux version 3.10.0-693.el7.x86_64 (builder@kbuil ...

  5. crontab中如何设置每30秒执行一次任务

    crontab任务配置基本格式: *   * * * * command 第1列表示分钟0-59 每分钟用*或者 */1表示 第2列表示小时0-23(0表示0点) 第3列表示日期1-31 第4列表示月 ...

  6. java定时执行sql语句_spring中使用quartz动态添加定时任务执行sql

    系统用来每天插入视图数据... 一.数据库表设计 1.接口配置表(t_m_db_interface_config) 2.接口日志表(t_m_db_interface_log) 3.前端配置页面 查询页 ...

  7. quartz定时任务突然不执行了

    高并发情况下,quartz定时任务突然不执行了, 背景: 整个项目架构,高并发操作比较多, 有多个线程池,周期线程池,和定时任务,占用多个资源 导致现场出现定时任务走一段时间就不走的情况 当前定时任务 ...

  8. springboot 集成Quartz实现任务延迟执行和定时执行功能

    废话不多说了,直接上代码: 1.项目结构图 2.在application.yml配置文件中加入下面配置: quartz:#相关属性配置properties:org:quartz:scheduler:i ...

  9. 压缩 20M 文件从 30 秒到 1 秒的优化过程!

    目录 第一次优化过程-从30秒到2秒 第二次优化过程-从2秒到1秒 使用Channel 使用内存映射文件 使用Pipe 总结 参考文章 有一个需求需要将前端传过来的10张照片,然后后端进行处理以后压缩 ...

最新文章

  1. Java程序猿面试题集(181- 199)
  2. asp.net编程网页弹窗显示变量_CODESYS Engineering:面向工程应用编程的工具软件
  3. codeproject上的一款分页控件
  4. esp8266驱动_ESP8266配置windows版
  5. mysql 乱码处理
  6. 【机器学习】流程模板
  7. 【序列化与反序列化流】
  8. sql2000下 分页存储过程(一)
  9. 微星主板Z370M mortar刷新BIOS导致主板MAC地址错误解决方法
  10. 通信原理课程设计报告
  11. mastercam2020后处理_[后处理]Mastercam 四轴Fanuc系统MP9G后处理
  12. HTTP协议 - 协议格式
  13. 淘系页面详情API调用展示
  14. Dynamo相关下载教程分享!(附软件包和Revit使用插件Revit Lookup下载教程)
  15. 中国矿业大学计算机保研去向,中国矿业大学2020届保研率19%,保研本校242人
  16. 百度提示:违法违规网页,建议关闭的解决方案
  17. 社群运营5招激活杀手锏、5个沟通技巧、5大目的
  18. iStat Menus mac中文
  19. 量化交易学习记录——(一)全局了解|入门
  20. 「齐心必胜!」牛磨王之父新春谈牛磨王抗磨网与4COO及区块链技术合力

热门文章

  1. 图解TCP/IP第一章学习
  2. Python if语句Demo
  3. Linux异步管道多线程速率测试
  4. srsLTE源码学习:NAS非接入层、PDCP分组数据汇聚协议、PDU 协议数据单元 头文件
  5. CentOS 7 怎样安装或升级最新的内核?
  6. linux使网卡点亮_Linux下 无线网卡配置无线唤醒功能的方法
  7. 安卓工控主板运行时会自动重启_工控机日常维护的方法与步骤
  8. Python OOP:面向对象三大特性(封装、继承、多态)、类属性和实例属性、类方法@classmethod、静态方法@staticmethod、函数和类callable、__call__
  9. Idea设置多开窗口
  10. 陕西机关事业单位工勤计算机考试成绩,2020年陕西省机关事业单位工人技术等级岗位考核公告发布 6月22日开始报名 9月中旬以后考核...