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可以用来创建简单或为运 ...
随机推荐
- CNC系统实时性分析
该系统有哪些强实时功能需求?需要对哪些实时事件进行实时响应,对允许的实时延迟的数量级进行估计. 答:数控系统中控制装置与现场设备通信的实时性要求,数控系统要快速而有效的对复杂而庞大的操作任务进行处理. ...
- SQL数据库与excel表格之间的数据 导入 导出
- 1、Python环境安装部署
一.环境准备 1.下载Python安装包(至官方网站) https://www.python.org/downloads/ 建议下载安装最新版 2.设置"环境变量" "我 ...
- [HTML]安卓下<video>无法点击播放
在<video>外面添加<div>并加上data-tap-disabled="true"属性即可
- visual studio code(vscode) 调试php(转)
原文链接:http://www.cnblogs.com/CLR010/p/5276077.html visual studio code(vscode) 调试php 1.下载vscode (vis ...
- Java实现emf图片自己留转png(jpg)图片字节流
private byte[] emfToPng(InputStream is){ // InputStream inputStream=null; byte[] by=null; EMFInputSt ...
- ToolStrip控件在窗体没有焦点的情况下,需要单击二次才能够激发事件的解决办法
protected override void WndProc(ref Message m) { if (m.Msg == 0x210) { Control control = Control.Fro ...
- php生成json或者xml数据
, ,'数据返回成功',$arr);echo $xml;?>
- Generics and Collection (1)
public static void main(String args[]) { List ints = Arrays.asList(), )}); ; for(Iterator it = ints. ...
- C#多线程的异步委托/调用
C#异步调用(Asynchronou Delegate) C#异步调用获取结果方法:主要有三种,也可以说是四种(官方说四种,电子书说三种),官方在MSDN上已经有详细的说明:链接 需要了解到获取异步执 ...