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 ...
随机推荐
- Powershell 源码批判
代码里充斥着过程式编程的搞法:比如这里 Utils.PathIsUnc,分散的到处都是 internal static IEnumerable<string> GetDefaultAvai ...
- Qt音视频开发46-视频传输UDP版
一.前言 上篇文章写道采用的TCP传输视频,优缺点很明显,优点就是不丢包,缺点就是速度慢,后面换成UDP通信,速度快了很多,少了3次握手,而且在局域网中基本上不丢包,就算偶尔丢包,对于一秒钟25-30 ...
- 生产环境Sentinel改造实践(一):Sentinel核心概念
一.前言 本文主要是对sentinel-dashboard源码进行改造,用在生产环境保障其高可用,主要改造点如下: 接入nacos支持规则管理及推送 监控数据存入influxDb,后续可开发对应的监控 ...
- 记一次 .NET某工业视觉软件 崩溃分析
一:背景 1. 讲故事 前两天给训练营里的一位学员分析了一个dump,学员因为弄了一整天也没找到祸根,被我一下子弄出来了,极度想看看我是怎么分析的?由于在微信上不能一言两语表尽,干脆写一篇文章出来详细 ...
- Datawhale 2025冬令营第二弹!!😊自己微调模型!
Datawhale AI冬令营(第一期) 垂类大模型构建 定制垂类大模型 = 优质数据集 + 开源大模型 整理者:博客园-岁月月宝贝!!! 姓名:HeYang 特别鸣谢Datawhale!!!:htt ...
- 推荐一个windows系统的下载和安装的网址:win7之家
win7之家:http://www.windows7en.com/ 精校 完整 极致 Windows系统下载仓储站HelloWindows :https://hellowindows.cn/
- MySQL版本是8.0.3,数据库连接字符串都检查无误,驱动类名加不加cj都试过了,URL是否加时区、是否加useSSL都试过了,都无法正常登录进去!
我在运行library这个web程序登录时(我的MySQL版本是8.0.3,数据库连接字符串都检查无误,驱动类名加不加cj都试过了,URL是否加时区.是否加useSSL都试过了,都无法正常登录进去!) ...
- IM开发干货分享:我是如何解决大量离线消息导致客户端卡顿的
1.引言 好久没写技术文章了,今天这篇不是原理性文章,而是为大家分享一下由笔者主导开发实施的IM即时通讯聊天系统,针对大量离线消息(包括消息漫游)导致的用户体验问题的升级改造全过程. 文章中,我将从如 ...
- [.NET] 单位转换实践:深入解析 Units.NET
单位转换实践:深入解析 Units.NET 摘要 在现代软件开发中,准确处理不同单位的转换是一个常见而复杂的需求.无论是处理温度.长度.重量还是其他物理量,都需要可靠的单位转换机制.本文将深入介绍 U ...
- 状压 DP 做题记录
1.普通状态压缩 DP oi-wiki I.P1896 [SCOI2005] 互不侵犯 \(f_{i,j,st}\) 表示前 \(i\) 行中放置了 \(j\) 个国王,当前行状态为 \(st\) 的 ...