[发布]Quartz.NET 示例程序:企业调度器 V0.2 源代码

本文介绍企业调度器V0.2版本的新特性,包括自定义作业扩展及新增触发器配置功能,如每周、每月及国际节日触发器等。通过实现特定接口即可轻松扩展作业。

      企业调度器(EntScheduler) V0.1 源代码在Quartz.NET 架构与源代码分析系列 part 3 :Trigger 触发器 已经给出,它实现了基本的作业调度、触发。此次的 V0.2 在这基础之上做了如下实现:

    1. 自定义作业扩展。你可以根据自己的需要开发自己的作业,并把它添加到 EntScheduler 上就可以使用了。
    2. 新增了触发器配置。“每周、每月、国际节日”现在可以自由配置了。

源码说明

      图1 是示例程序的解决方案,包括5 个项目:Quart.2008 是 Quartz.NET 的源程序,EntScheduler.Win32 是Windows 下的应用项目,EntScheduler.Extendable 可扩展库,以及两个实现了可扩展库的作业扩展:邮件服务、关机服务。

image

图1 企业调度器示例程序的解决方案图

自定义作业扩展

      EntScheduler 可以非常方便地根据自己的需要 开发自己的作业 扩展,而且开发扩展也非常方便,只要实现Doho.EntScheduler.Extendable.IExtendedJob 和 Doho.EntScheduler.Extendable.IJobConfigPanel 接口,就可以了。这两个接口定义如下:

ContractedBlock.gif ExpandedBlockStart.gif Code
/// <summary> 
/// 扩展作业继承的接口,该接口继承 Quartz.IJob 
/// </summary> 
public interface IExtendedJob : IJob 

    
/// <summary> 
    
/// 返回配置面板实例 
    
/// </summary> 
    
/// <returns></returns> 
    UserControl GetConfigPanel(); 
}

/// <summary> 
/// 配置面板继承的接口 
/// </summary> 
public interface IJobConfigPanel 

    
/// <summary> 
    
/// 返回配置的作业信息:JobDetail 
    
/// </summary> 
    
/// <returns></returns> 
    JobDetail GetJobDetail(); 
}

      详细的扩展定义可以参考“邮件服务、关机服务”项目的代码。

下一步实现

  • 停止任务,查看任务的执行情况
  • 添加一些实用的作业:定时短信、开机执行任务、关机保存工作窗口(下次开机时自动恢复)
  • 农历触发器的实现(非常有用,想一下你是否想过在每年除夕晚上 0:00 前给朋友发送短信、邮件呢,给她一个惊喜!)
  • 是否可以结合 飞信 来实现自动短信功能(每天早上都可以很勤快地给女朋友发送祝福啦!是不是很惬意?

源码

Quartz.NET 示例程序:企业调度器 V0.2 源代码

转载于:https://www.cnblogs.com/Doho/archive/2009/03/17/1414065.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值