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");
}
}
最新文章
- jquery css3问卷答题卡翻页动画效果
- 机器学习&;深度学习资料
- 《高性能MySQL》读书笔记--锁、事务、隔离级别 转
- 黑马程序员——【Java基础】——面向对象(二)异常机制、包(Package)
- css3实现小米商城鼠标移动图片上浮阴影效果
- C# 数据类型详解
- Gearman + Nodejs + MySQL UDF异步实现 MySQL 到 Redis 的数据同步
- When Is Cheryl&#39;s Birthday
- Redis中的master-slave&;sentinel
- javascript中this的用法
- Phaser文档访问不了,下载英文版文档到本地,已经共享在国内网站上面
- ";元素隐式具有 “any” 类型,因为类型“Shared”没有索引签名";问题解决思路
- 1019. General Palindromic Number (20)
- 用yum快速搭建LAMP平台
- python shell的交互模式和文本编辑模式
- [20170927]关于hugepages.txt
- input 输入值的监听 禁止输入特殊字符
- Servlet基本
- js的JSON
- Android的Fragment的第一种声明方式