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可以用来创建简单或为运 ...
随机推荐
- 初识makefile
Makefile的规则 目标 : 需要的条件 (注意冒号两边有空格) 命令 (注意前面用tab键开头) 解释一下: 1 目标可以是一个或多个,可以是Object File,也可以是执行文件,甚至可以是 ...
- MongoDB(四)mongodb设置用户访问权限
我们知道MySQL在安装的时候需要我们设置一个数据库默认的用户名和密码,mongodb也不例外,不过mongodb是默认的没有设置访问限制的,不需要输入用户名和密码都可以访问的,但是这样会十分的不安全 ...
- 细说 webpack 之流程篇
摘自: http://taobaofed.org/blog/2016/09/09/webpack-flow/ 引言 目前,几乎所有业务的开发构建都会用到 webpack .的确,作为模块加载和打包神器 ...
- 利用nodejs的cheerio抓取网站数据
/*引入模块*/ var http = require('http') var url = 'http://www.cnblogs.com/txxt' var cheerio = require('c ...
- Vuejs使用笔记 --- 框架
这两天学了vuejs的模板,于此纪录一下. 这是整个大文件夹的配置,现在我们看到的所有文件都不需要去管,说要关注也只需要关注“index.html” "index.html"里面是 ...
- C#小写数字金额转换成大写人民币金额的算法
C#小写数字金额转换成大写人民币金额的算法 第一种方法: using System.Text.RegularExpressions;//首先引入命名空间 private string DaXie(st ...
- Kafka报错-as it has seen zxid 0x83808 our last zxid is 0x0 client must try another server
as it has seen zxid 0x83808 our last zxid is 0x0 client must try another server 停止zookeeper,删除datadi ...
- [Nginx] 在Linux下的启动、停止和重加载
Nginx的启动 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 其中-c参数指定配置文件路径. Nginx的停止 ...
- Android之动画的学习(转载)
Android动画学习笔记-Android Animation 3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中 ...
- Eculid算法 以及Extend_Eculid算法 证明及实现
Eculid算法 欧几里得算法 证明: 设两数a,b(a<b). 令c=gcd(a,b) . 则 设a=mc, b=nc . 所以 r= r =a-kb=mc-knc=(m-kn)c . 所 ...