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 ...
随机推荐
- Qt编写地图综合应用46-设备点位(添加、删除、清空、重置)
一.前言 在学习JS语法的时候发现其实程序都大同小异,正所谓一通百通,熟悉各大概的语法以后基本都可以上手,和C++最大的不同就是他没有数据类型的概念,作为解释性的语言,是在执行的时候自动去转换数据类型 ...
- Apgar score
Apgar score Apgar is a quick test performed on a baby at 1 and 5 minutes after birth. The 1-minute s ...
- c# 更改快捷方式文件图标
c# 更改快捷方式文件图标c# 更改快捷方式文件图标c# 更改快捷方式文件图标c# 更改快捷方式文件图标c# 更改快捷方式文件图标c# 更改快捷方式文件图标c# 更改快捷方式文件图标c# 更改快捷方式 ...
- MS Speech/ azure
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- ForkJoin全解1:简单使用与大致实现原理
1. 使用示例import java.lang.reflect.Method; import java.util.concurrent.ForkJoinPool;import java.util.co ...
- Codeforces Round 998 (Div. 3)
题目链接:Codeforces Round 998 (Div. 3) 总结:复建,Cwa两发,E读假题了. A. Fibonacciness tag:签到 Solution:简单模拟一下即可. voi ...
- 在没有网关的IP地址上编写路由,实现另一个网段可以访问到该主机
应用场景:该主机两个网卡分别对应两个IP地址 192.168.1.2网段为医保网,并且主机使用了改网段的的网关.192.168.100.99网段地址为互联网地址,没有使用该网段的网关. 我们开发小组通 ...
- 小程序image图片缩小不变形
使用mode =aspectFill 值 说明 scaleToFill 缩放模式,不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素 图片会变形 aspectFit 缩放模式,保持纵横 ...
- java集合中的迭代器Iterator和数组内置方法以及常见的报错
删除Map的中某一项报错 package part; import java.util.HashMap; import java.util.Set; public class Java01 { pub ...
- 绕过 console-ban
绕过 console-ban console-ban 项目介绍 console-ban 是一个高效且轻量级的 JavaScript 库,其核心功能是有效阻止用户通过浏览器的开发者工具(例如按 F12 ...