再用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");
}
}

最新文章

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

热门文章

  1. HandlerThread和IntentService
  2. My SQL外键约束
  3. 8、SQL Server 表分区
  4. js和java MD5加密
  5. ASP.NET 表单验证实现浅析
  6. JavaScript校验图片格式及大小
  7. ubuntu文本模式/终端中文乱码解决
  8. LR常用函数以及调用自定义函数
  9. 机器学习PR:k近邻法分类
  10. Winform API &quot;user32.dll&quot;中的函数