你的位置:首页 > 软件开发 > ASP.net > 基于Quartz.NET构建自己的动态作业调度器

基于Quartz.NET构建自己的动态作业调度器

发布时间:2016-12-15 11:00:11
在日常的开发中,运行定时任务基本上已经是很普遍的需求了,可以通过windows服务+timer组件来实现,也可以使用第三方框架来集成,Quartz.NET就是一款从JAVA的Quartz移植过来的一个不错的作业调度组件,但是当我们把作业都写好,并部署完成的时候,管理成为了很麻烦的 ...

   

 

  在日常的开发中,运行定时任务基本上已经是很普遍的需求了,可以通过get='_blank'>windows服务+timer组件来实现,也可以使用第三方框架来集成,Quartz.NET就是一款从JAVA的Quartz移植过来的一个不错的作业调度组件,但是当我们把作业都写好,并部署完成的时候,管理成为了很麻烦的事情,因此我基于Quartz.NET,又简单做了一下封装,来实现作业动态管理。

  首先作业动态管理包含以下几个核心点

  1. 应用程序动态加载器
  2. 作业管理(运行)池
  3. 动态启动/停止/卸载作业

 

  Quzrtz.NET怎么用我这里就不再讲解了,百度上很多。

 

  主要有三个核心模块,Job,Trigger和Schedule,

      Job就是每一个作业,Trigger就是作业执行策略(多长时间执行一次等),Schedule则把Job和Tigger装载起来

  Job和Tigger可以随意搭配装载到Schedule里面运行

      

  接下来讲解实现的思路

  

  先定义一个类库,类库只包含一个类,BaseJob ,里面只有一个Run()方法

  之后我们实现的每一个作业都是继承自这个类,实现Run()方法即可(每个作业都作为一个独立的类库,引用这个只有一个类的类库)

  

public abstract class BaseJob:MarshalByRefObject,IDisposable{    public abstract void Run();}

原标题:基于Quartz.NET构建自己的动态作业调度器

关键词:.NET

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。