温故知新 任务调度器(定时器)

1,导入Quartz的依赖包

2,任务调度主要是三个关键点:调度器    任务    触发器

Schedule  Job   Strigger

//创建任务类

1,实现Job接口

2,任务的自定义执行方法(重写)

//创建调度器

ScheduleFactory scheduleFactory =new StdScheduleFactory();

Schedule schedule=scheduleFactory.getSchedule();

//创建任务

JobDetail jobDetail=JobBuilder.newJob(对应类.class).withIdentity("job1", "group1").build();  //注意对应的类必须要实现Job接口

//创建触发器

Trigger trigger=TriggerBuilder.newTrigger().withIdentity("trigger1","triggerGroup001").startNew()

.withSchedule(SimpleScheduleBuilder.simpleSchedule()
.withIntervalInSeconds(60) //每隔1min执行一次
.repeatForever()) //一直执行
.build();

//任务调度器执行(通过接口调用)
scheduler.scheduleJob(jobDetail, trigger);
scheduler.start();

//任务调度器暂停(通过接口调用)
TimeUnit.MINUTES.sleep(1);
scheduler.shutdown();

原文地址:https://www.cnblogs.com/pureray-hui/p/12598905.html

时间: 2024-11-10 01:16:49

温故知新 任务调度器(定时器)的相关文章

《CLR via C#》之线程处理——任务调度器

<CLR via C#>之线程基础--任务调度器 <CLR via C#>之线程基础--任务调度器线程池任务调度器设置线程池限制如何管理工作者线程同步上下文任务调度器自定义TaskScheduler派生类 FCL提供了两个派生子TaskScheduler的类型:线程池任务调度器(thread pool task scheduler),和同步上下文任务调度器(synchronization context task scheduler).默认情况下都使用线程池任务调度器. 线程池任务

TaskScheduler一个.NET版任务调度器

TaskScheduler是一个.net版的任务调度器.概念少,简单易用. 支持SimpleTrigger触发器,指定固定时间间隔和执行次数: 支持CronTrigger触发器,用强大的Cron表达式满足日历形式的复杂触发规则: 支持动态添加和删除任务,可根据具体需求实现复杂逻辑: static void Main(string[] args) { Scheduler scheduler = new Scheduler(); SimpleTrigger simpleTrigger = new S

SST-超级简单任务调度器结构分析

SST(Super Simple Task) 是一个基于任务优先级.抢占式.事件驱动.RTC.单堆栈的超级简单任务调度器,它基于Rober Ward一篇论文的思想,Miro Samek用C重新编程实现的,它是QP中QK的的基本思想. QK加上状态机事件处理的方法QEP,再加上任务的注册与事件的保存与分发功能QF,再加上串口调试功能QSpy,再加上基于模型驱动的开发QM,就成了QP. 2015年,QP获得“嵌入式计算设计”顶级发明奖[1]. 1.SST层次结构 ? 2.SST总体结构 ? 发送事件

任务调度器quartz的使用

1.quartz的获取. 可參照:Quartz任务调度模型实例 2.开发思路: 要使用定时器quartz.先弄清楚三个概念:调度器.任务.触发器.开发也是依照这三个方面来开发, 1>写一个Job的实现类.里面是你自己要完毕的业务逻辑: 2>写Trigger的实现类,主要有SimpleTrigger和CronTrigger这两个子类.来决定调度方案: 当仅需触发一次或者以固定时间间隔周期运行,SimpleTrigger是最适合的选择: 而CronTrigger则能够通过Cron表达式定义出各种复

laravel 任务调度器

背景:在实际工作业务中,经常要用到异步任务的方式来进行相关(耗时)任务的处理,这时可能需要采取定时任务的方式来进行.linux自带的crontab定时器工具能很好的解决这个问题.每次项目上线的时候,如有新的异步任务脚本就必定要×××器管理员进行crontab配置修改.因为需要动服务器配置,沟通协调确认的过程都避免不了.laravel自带的schedule任务调度能很好解决这个痛点. laravel任务调度 php artisan schedule:run 实现步骤 1.crontab -e 增加

Quartz任务调度器

背景:              近期项目中遇到跨区调拨商品的需求,比如A区和B区,需要判断A区或者B区某种sku是否需要从对方库调拨商品来补充货源,避免因缺失商品而出现订单延误,影响销售和对用户产生不良影响. 问题:             数据量庞大,如果当查看的时候去获取数据,那么会严重影响系统的性能,甚至导致数据库和应用服务器无法响应. 解决方案:            规定在某个时间点,最好是在晚上12点时系统自动获取需要调拨的数据,然后将数据存储到数据库中.晚上12点,用户访问量和系

SpringQuartz定时任务调度器

JAVA代码测试类 public class TestQuartz { public void test(){ System.out.println("*********************Quartz的任务调度*********************"); } } Quartz配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www

node.js任务调度器

//调度器 var list = Array(); var exc, cek; var checkertime = 1000; cek = checker(checkertime); function checker(intervaltime) {     interval = setInterval(function () {         if (list.length > 0) {             clearInterval(cek);             exc = exc

Qt 任务调度器

近期刚刚完成的C/S端远程监控软件,架构为1个TcpClt对应N个TcpSvr.Clt可向Svr发送指令,Svr接收到指令执行,并通过报文反馈进度. 过去,软件管理的个体是每个Svr:现在需要将若干Svr合并为一个群体,各Svr之间执行指令有先后顺序. 因此过去只需单线程一次性向各Svr发送报文,只需在界面所在线程处理.现在需要有一个调度(等待)的过程,要在子线程里处理. 需要解决的问题如下: 定时调度 跨线程更新界面. 首先看问题2:跨线程更新界面. Qt可以用signal/slot机制,跨线