C# Quartz 调度任务辅助类
1 public class QuartzHelper
2 {
3 /// <summary>
4 /// 时间间隔执行任务
5 /// </summary>
6 /// <typeparam name="T">任务类,必须实现IJob接口</typeparam>
7 /// <param name="seconds">时间间隔(单位:毫秒)</param>
8 public static void ExecuteInterval<T>(int seconds) where T : IJob
9 {
10 ISchedulerFactory factory = new StdSchedulerFactory();
11 IScheduler scheduler = factory.GetScheduler();
12
13 //IJobDetail job = JobBuilder.Create<T>().WithIdentity("job1", "group1").Build();
14 IJobDetail job = JobBuilder.Create<T>().Build();
15
16 ITrigger trigger = TriggerBuilder.Create()
17 .StartNow()
18 .WithSimpleSchedule(x => x.WithIntervalInSeconds(seconds).RepeatForever())
19 .Build();
20
21 scheduler.ScheduleJob(job, trigger);
22
23 scheduler.Start();
24 }
25
26 /// <summary>
27 /// 指定时间执行任务
28 /// </summary>
29 /// <typeparam name="T">任务类,必须实现IJob接口</typeparam>
30 /// <param name="cronExpression">cron表达式,即指定时间点的表达式</param>
31 public static void ExecuteByCron<T>(string cronExpression) where T : IJob
32 {
33 ISchedulerFactory factory = new StdSchedulerFactory();
34 IScheduler scheduler = factory.GetScheduler();
35
36 IJobDetail job = JobBuilder.Create<T>().Build();
37
38 //DateTimeOffset startTime = DateBuilder.NextGivenSecondDate(DateTime.Now.AddSeconds(1), 2);
39 //DateTimeOffset endTime = DateBuilder.NextGivenSecondDate(DateTime.Now.AddYears(2), 3);
40
41 ICronTrigger trigger = (ICronTrigger)TriggerBuilder.Create()
42 //.StartAt(startTime).EndAt(endTime)
43 .WithCronSchedule(cronExpression)
44 .Build();
45
46 scheduler.ScheduleJob(job, trigger);
47
48 scheduler.Start();
49
50 //Thread.Sleep(TimeSpan.FromDays(2));
51 //scheduler.Shutdown();
52 }
53 }
54
55 public class TimeJob1 : IJob
56 {
57 public void Execute(IJobExecutionContext context)
58 {
59 Log.Info("", "调度任务TimeJob1开始工作");
60 }
61 }
C# Quartz 调度任务辅助类的更多相关文章
- Quartz源码——Quartz调度器的Misfire处理规则(四)
Quartz调度器的Misfire处理规则 调度器的启动和恢复中使用的misfire机制,还需细化! SimpleTrigger的misfire机制 默认的 Trigger.MISFIRE_INSTR ...
- spring Quartz 调度
Quartz 是开源任务调度框架中的翘首,它提供了强大任务调度机制,同时保持了使用的简单性.Quartz 允许开发人员灵活地定义触发器的调度时间表,并可以对触发器和任务进行关联映射.此外,Quartz ...
- Spring中Quartz调度器的使用
一.Quartz的特点 * 按作业类的继承方式来分,主要有以下两种: 1.作业类继承org.springframework.scheduling.quartz.QuartzJobBean类的方式 2. ...
- 定时组件quartz系列<三>quartz调度机制调研及源码分析
quartz2.2.1集群调度机制调研及源码分析引言quartz集群架构调度器实例化调度过程触发器的获取触发trigger:Job执行过程:总结:附: 引言 quratz是目前最为成熟,使用最广泛的j ...
- java定时任务以及Spring使用Quartz调度器执行定时任务
java下的java.util.Timer中类可以实现定时执行任务的执行: 如:让任务立即执行,每隔1s循环执行一次 public class TimerClass { public static v ...
- net core quartz调度 warp打包 nssm部署到windowsservice
介绍下一款vue.js实现的基于core2.1 quartz.net调度框架,独立部署不依赖数据库,只需要实现不同业务接口,配置调度时间即可 github:https://github.com/cq- ...
- Quartz 实现同一辅助类 重复开启多任务
前言: 最近做一个项目,需要用到定时任务,第一就想到了Quartz,然后很开心的就实现了功能,但是后来发现一个问题,如果需要开启多个定时任务,需要写多个辅助类,而辅助类里面的功能基本差不多,这是我就想 ...
- quartz 调度启动失败,with (updlock,rowlock)
原因是driverDelegateClass配置错误. org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTXorg.q ...
- quartz 调度
1.POI文件中导入包 <dependency> <groupId>org.quartz-scheduler</groupId> <artifact ...
- SpringBoot之整合Quartz调度框架-基于Spring Boot2.0.2版本
1.项目基础 项目是基于Spring Boot2.x版本的 2.添加依赖 <!-- quartz依赖 --> <dependency> <groupId>org.s ...
随机推荐
- ctr命令的基本使用与技巧
k8s早1.24后放弃docker,并把containerd作为运行时组件,containerd 调用链更短,组件更少,更稳定,占用节点资源更少 ctr是containerd的一个客户端工具 cric ...
- GenericObjectPool 避免泄漏
GenericObjectPool GenericObjectPool 是 Apache Commons Pool 提供的对象池,使用的时候需要调用 borrowObject 获取一个对象,使用完以后 ...
- 管理员应了解的 SIEM解决方案七大功能 !
SIEM解决方案已成为企业网络安全武器库中不可或缺的一部分.但由于SIEM功能过于复杂且架构难以理解,企业往往SIEM的潜在功能.遗憾的是,他们忽视的潜在功能正是解开企业网络合规的重要部分. 例如, ...
- python-nmap实现python利用nmap扫描分析
目录 前言 python-nmap的基本使用 PortScanner扫描 PortScannerAsync异步扫描 python-nmap的源码分析 前言 Nmap是一个非常用的网络/端口扫描工具,如 ...
- GeoJSON代码示例
GeoJSON代码示例 1. 读取GeoJSON文件 1.1 实现思路 graph TD A[读取GeoJSON文件] --> B[读取GeoJSON文件内容] B --> C[解析Geo ...
- Discord技术架构调研(IM即时通讯技术架构分析)
一.目标 调研 discord 的整体架构,发掘可为所用的设计思想 二.调研背景 Discord作为目前比较火的一个在线聊天和语音通信平台且具有丰富的功能.另外其 "超级"群 概念 ...
- 微服务实战系列(九)-注册中心与网关高可用架构设计-copy
1. 微服务关系架构图 简要说明: (1)所有应用或者服务要想对外提供服务(包括网关),必须首先到注册中心进行注册. (2)所有访问通过服务网关进行访问,然后由服务网关路由到对应服务中心进行交互访问. ...
- C#定点执行任务测试案例
定时方法实现类 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text ...
- ctfshow--红包一 ob混淆
上来是一段混淆的ob混淆的js代码,还会有个setinterval无限debugger反调试 点击查看代码 function _0x51ba() { const _0x4b06d7 = ['paddi ...
- Educational Codeforces Round 168 (Rated for Div. 2)
题目链接:Educational Codeforces Round 168 (Rated for Div. 2) 总结:题目较简单,但是发挥很一般.A,B题一直读假题,卡了半个小时:C题用char存i ...