Quartz.net 定式调度任务
再用Quartz 做任务调度作业时,有以下步骤:
ISchedulerFactory schedFact = new StdSchedulerFactory();
IScheduler _sched;
_sched = schedFact.GetScheduler();
var triggerJobs = new Dictionary<IJobDetail, Quartz.Collection.ISet<ITrigger>>();
var jobDetail = JobBuilder.Create()
.WithIdentity("JobMonitorJob", "jobs")
.OfType(typeof(JobMonitorJob))
//.OfType(typeof(CommonJob ))
//.WithDescription("JobMonitorJob")
//.UsingJobData("type", "QuartzTest.JobMonitorJob")
//.UsingJobData("method", "Execute")
.Build();
var triggers = new Quartz.Collection.HashSet<ITrigger>();
var trigger = TriggerBuilder.Create()
.ForJob(jobDetail)
.StartAt((DateTimeOffset.Now.AddSeconds(10)))
//.WithSimpleSchedule(x => x.WithIntervalInSeconds(item.Schedule).RepeatForever())
.WithCronSchedule("0/5 * * * * ?")
.Build();
triggers.Add(trigger);
triggerJobs.Add(jobDetail, triggers);
_sched.ScheduleJobs(triggerJobs, false);
_sched.Start();
多任务调度加个中间件
public class CommonJob : IJob
{
private readonly ILog _logger = LogManager.GetLogger(typeof(CommonJob));
public void Execute(IJobExecutionContext context)
{
var map = context.JobDetail.JobDataMap;
var typeName = (string)map["type"];
var methodName = (string)map["method"];
try
{
var type = Type.GetType(typeName);
var method = type.GetMethod(methodName, Type.EmptyTypes);
method.Invoke(Activator.CreateInstance(type), null);
}
catch (Exception ex)
{
JobExecutionException e2 = new JobExecutionException(ex);
e2.RefireImmediately = true;
throw e2;
}
finally
{
GC.Collect();
}
}
}
public class JobMonitorJob :IJob
{
private readonly ILog _logger = LogManager.GetLogger(typeof(JobMonitorJob));
public void Execute(IJobExecutionContext context)
{
_logger.Debug("sdfasfdas");
}
}
Quartz.net 定式调度任务的更多相关文章
- quartz集群调度机制调研及源码分析---转载
quartz2.2.1集群调度机制调研及源码分析引言quartz集群架构调度器实例化调度过程触发器的获取触发trigger:Job执行过程:总结:附: 引言 quratz是目前最为成熟,使用最广泛的j ...
- (1)quartz集群调度机制调研及源码分析---转载
quartz2.2.1集群调度机制调研及源码分析 原文地址:http://demo.netfoucs.com/gklifg/article/details/27090179 引言quartz集群架构调 ...
- quartz群调查调度机制和源代码分析
pageId=85056282#quartz集群调度机制调研及源代码分析-quartz2.2.1集群调度机制调研及源代码分析" style="color:rgb(59,115,17 ...
- quartz定时任务框架调度机制解析
转自集群调度机制调研及源码分析 quartz2.2.1集群调度机制调研及源码分析引言quartz集群架构调度器实例化调度过程触发器的获取触发trigger:Job执行过程:总结:附: 引言 qurat ...
- Quartz.net(调度框架) 使用Mysql作为存储
最近公司的做的项目中涉及到配置任务地址然后按照配置去目标地址提取相关的数据,所以今天上午在Internet上查看有关定时任务(调度任务)的相关信息,筛选半天然后查找到Quartz.net. Quart ...
- Quartz.NET---任务调度框架
在我们的程序中,可能经常会遇到"每隔多久执行XXX任务"这样的问题:每天晚上24:00审核用户提交的申请:每隔1分钟去数据库中检索用户是否有新的消息:... ...那么Quar ...
- quartz任务时间调度入门使用
Quartz 是 OpenSymphony 开源组织在任务调度领域的一个开源项目,完全基于 Java 实现. 作为一个优秀的开源调度框架,Quartz 具有以下特点: 强大的调度功能,例如支持丰富多样 ...
- 利用quartz实现定时调度
1.Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用.这里我介绍quartz的两种方式.我这里搭建 ...
- 任务调度 -----> quartz 不同时间间隔调度任务
Quartz Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用.Quartz可以用来创建简单或为运 ...
随机推荐
- 关于MAC
以太LAN网中发送的分组称做帧,包含7个字段 MAC帧格式 前同步码 SFD DA SA 长度或类型 数据域 CRC 7字节,物理层加入 帧首定界符,1字节 目的地址,6字节 源地址,6字节 2字节 ...
- es6 static
static 定义的是类的方法只有类能调用,而普通方法是实例的方法只有类实例能调用.变量也一样. class A { static fn() { console.log('sss'); } fn2() ...
- arcgis将图片转成shp地图
打开arcMap 1.右键[图层]-[属性]-[坐标系]-[地理坐标系]-双击"WGS 1984" 2.右键[图层]-[添加数据],打开图片文件-Band_2 3.右键图片-[属性 ...
- .NET (三)委托第三讲:内置委托Action
.NET 为我们提供了无返回值的内置委托 Action,代码如下: // 摘要: // 封装一个方法,该方法只有一个参数并且不返回值. // // 参数: // obj: // 此委托封装的方法的参数 ...
- Linux Shell脚本实现根据进程名杀死进程
Shell脚本源码如下: #!/bin/sh #根据进程名杀死进程 if [ $# -lt 1 ] then echo "缺少参数:procedure_name" exit 1 f ...
- js中function参数默认值
--在dreamweaver做网站时,函数定义是在一个*.js文件中,其中定义了一个func,有四个参数,function func(string1,url,flag,icon),然后在另一个asp中 ...
- OpenGL 矩阵变换
Overview 几何数据--顶点位置,和标准向量(normal vectors),在OpenGL 管道raterization 处理过程之前可通过顶点操作(Vertex Operation)和基本组 ...
- MySQL_积分兑换的优惠券在某时间段内使用情况_ 20161215
积分兑换的优惠券在某时间段内使用情况 SELECT a.城市,a.用户ID,a.优惠券ID,a.优惠券名称,a.积分兑换优惠券的张数,b.使用优惠券数量,a.积分兑换优惠券的金额,b.使用优惠券金额 ...
- MongoDB-JAVA-Driver 3.2版本常用代码全整理(4) - 地理空间索引
MongoDB的3.x版本Java驱动相对2.x做了全新的设计,类库和使用方法上有很大区别.例如用Document替换BasicDBObject.通过Builders类构建Bson替代直接输入$命令等 ...
- 对 clear:both 这个样式的一些理解
看下我今天一直研究的两个例子吧.希望对自己跟大家有帮助: 例子一: <!DOCTYPE html> <html> <head lang="en"> ...