目录:

1.quartz.net任务调度:源码及使用文档

2.quartz.net插件类库封装

前言

  前段时间把自己封装quartz.net 类库的过程总结到博客园,有网友想要看一下源码,所以就把源码传到github上去了,今天把地址分享给大家,程序中单元测试,写的太丑,所以就没网上传,故此我把使用文档在这也分享给大家一下,有什么问题,请点击我园子中的qq与我联系。

   源码地址:https://github.com/kmonkey9006/Quatrz.Task

目的:

  方便任务调度 的创建,删除,暂停与继续操作;提高任务在系统的可维护性与可扩展性。

使用流程:

   1.web.config设置时间间隔与开始时间(便于维护)

    

<!--自动任务执行时间间隔(秒)by wyl-->
    <add key=" />
    <!--自动任务执行 by wyl-->
    <add key="ReDoPaySchedulerStartTime" value="3:10"/>

   2.在使用处调用类库方法:

    2.1获取任务调度执行时间间隔与开始执行时间(这些值可以在代码中直接赋值)

 static int times = Convert.ToInt32(Synjones.Common.Config.Config.AppSettings("ReDoPaySchedulerTimeBySeconds"));
 );

    2.2创建任务调度

);

    注:standardsd:系统编码(syscode)

   Jobid:任务id(jobid)

    轮询缴费:任务名称(name)

   山东大学:任务群组名称(group)

   DoRePay:任务调度触发动作。(action)

   startTime:任务开始时间(starttime)

    times:任务间隔时间(internaltimes)

    0:最大执行次数(0表示无限次)(maxtimes)

  3.在不停止服务端的情况下暂停与继续任务

     修改任务持久化文件,默认地址为~/Files/jobs/

     当State为Working时表示任务正常执行

     当State为Pending/Empty时表示任务正常执行(注意大小写,写错则按Working执行)

调用说明:

调用说明

对象初始化

New QJob(string syscode, string id, string name = "", string group = "")

参数说明

Syscode:系统编码

Id:jobid

Name:任务名称

Group:任务群组

其他说明

Syscode+jobid:标志者任务的唯一性

Name,group:可为空但建议写上,以便于更容易操作任务持久化文件

StartTime:开始时间默认为 DateTime.Now.AddMinutes(1)

Maxtimes:最大执行次数默认为0

Internaltimes:时间间隔默认为1个小时

持久化文件存放地址赋值

JobFactory.Instance.SetPath(string path)

参数说明

文件路径必须以@“\”结尾,不进行赋值默认地址为~\File\jobs\

任务触发动作

Handle(Action handler)和Handle(Action<IQJob> handler)

参数说明

两者参数的却别在于一个有回调参数(IQJOB),一个没有参数

创建任务(1)

Start(DateTime starttime, int internaltimes , int maxtimes)

参数说明

Starttime:开始时间

internaltimes :任务执行间隔

maxtimes :最大执行次数

创建任务(2)

Start()

参数说明

直接执行创建job任务调度

移除任务

IQJob.Remove()

说明

根据IQJob进行删除(syscoed与jobid确定其唯一性)

暂停任务

IQJob.Pause()

说明

根据IQJob进行暂停(syscoed与jobid确定其唯一性)

继续任务

IQJob.Resume()

说明

根据IQJob进行Resume(syscoed与jobid确定其唯一性)

修改任务触发动作

JobFactory.Instance.Trigger(string system_code, Action action)

JobFactory.Instance.Trigger(string system_code, Action<IQJob> action)

参数说明

system_code:系统编码

Action:触发动作

持久化操作

JobFactory.Instance.Initialize();

说明

获取持久化文件,进行反序列化,然后把对象进行任务调度创建。

注意:

(1)系统编码和任务id组合必须唯一。

(2)开始执行时间最好在系统操作不频繁时间段(在服务平台和山东大学我用的是3:10)

(3)创建任务调度时,如果当前时间大于开始时间,任务在没创建之前就会事先执行一次。所以希望在创建任务的时候开始时间不要用datetime.now。用指定时间或者用DateTime.Now.AddMinutes(1)

(4)基于(3)的说明,开始时间如果指定为2016-06-06 3:10 ,当在这时间之后如果服务器down掉,重新启动系统时,不管是不是在3:10之后,系统均会执行一次

案例:

(1) new QJob("syscode", "jobid", "name", "group").Handle(job_handler).Start(DateTime.Now.AddSeconds(30), 2, 10);

 (2) new QJob("syscode", "jobid", "name", "group").Handle(job_detail_handler).Start();

(3) new QJob("syscode", "jobid", "name", "group").Remove();

(4) new QJob("syscode", "jobid").Remove();

(5) new QJob("syscode", "jobid", "name", "group").Pause();

(6) new QJob("syscode", "jobid").Pause();

(7) new QJob("syscode", "jobid", "name", "group").Resume();

(8) new QJob("syscode", "jobid").Resume();

quartz.net任务调度:源码及使用文档的更多相关文章

  1. 在MyEclipse显示struts2源码和doc文档及自动完成功能

    分类: struts2 2010-01-07 16:34 1498人阅读 评论(1) 收藏 举报 myeclipsestruts文档xmlfileurl 在MyEclipse显示struts2源码和d ...

  2. eclipse导入java和android sdk源码,帮助文档

    eclipse导入java和android sdk源码,帮助文档 http://blog.csdn.net/ashelyhss/article/details/37993261 JavaDoc集成到E ...

  3. 【C#附源码】数据库文档生成工具支持(Excel+Html)

    [2015] 很多时候,我们在生成数据库文档时,使用某些工具,可效果总不理想,不是内容不详细,就是表现效果一般般.很多还是word.html的.看着真是别扭.本人习惯用Excel,所以闲暇时,就简单的 ...

  4. MyEclipse10查看Struts2源码及Javadoc文档

    1:查看Struts2源码 (1):Referenced Libraries >struts2-core-2.1.6.jar>右击>properties. (2):Java Sour ...

  5. Mahout源码分析之 -- 文档向量化TF-IDF

    fesh个人实践,欢迎经验交流!Blog地址:http://www.cnblogs.com/fesh/p/3775429.html Mahout之SparseVectorsFromSequenceFi ...

  6. MyEclipse查看Struts2源码及Javadoc文档

    一.查看Struts2源码 1.Referenced Libraries >struts2-core-2.1.6.jar>右击>properties. 2.Java Source A ...

  7. 【C#附源码】数据库文档生成工具支持(Excel+Htm)

    数据库文档生成工具是用C#开发的基于NPOI组件的小工具.软件源码大小不到10MB.支持生成Excel 和Html 两种文档形式.了解更多,请访问:http://www.oschina.net/cod ...

  8. 基于SpringBoot的药店管理系统java药房管理系统(源码+数据库文件+文档)

    注意:该项目只展示部分功能,如需了解,评论区咨询即可. 1.开发环境 开发语言:Java 后台框架:SpringBoot 前端技术:HTML+CSS+JavaScript+Bootstrap+jQue ...

  9. 如何在IntelliJ IDEA在线查看源码的API文档

    https://blog.csdn.net/IFollowRivers/article/details/81604463

随机推荐

  1. 面向对象和面向过程的jquery版选项卡

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <script src ...

  2. I finally made sense of front end build tools. You can, too.

    来源于:https://medium.freecodecamp.com/making-sense-of-front-end-build-tools-3a1b3a87043b#.nvnd2vsd8   ...

  3. 【USACO 2.4】Fractions to Decimals(分数转小数)

    题意:给你N/D的分数,让你输出等价的小数,如果是循环小数,用括号把循环节包起来.如果是整数,后面保留一位小数.每行最多输出76个字符. 题解:模拟除法,如果余数是第二次出现,则代表第一次出现的位置到 ...

  4. 81.Android之沉浸式状态栏攻略

    转载:http://blog.csdn.net/lmj623565791/article/details/48649563/ 一.概述 近期注意到QQ新版使用了沉浸式状态栏,ok,先声明一下:本篇博客 ...

  5. Ubuntu操作系统相关

    1.安装 三种网络类型 修改密码 重启unbuntu系统,出现starting启动界面后,长按shift键. 出现如下引导界面: (注意:这里保持默认的选项就行,即白色横条选择在*Ubuntu上,不要 ...

  6. Processing基础之绘画

    图形 //在(x, y)绘制点 point(x, y); //(x1, y1)到(x2, y2)的一条线 line(x1, y1, x2, y2); rect(x, y, weight, height ...

  7. elk系列6之tcp模块的使用

    preface tcp模块的使用场景如下: 有一台服务器A只需要收集一个日志,那么我们就可以不需要在这服务器上安装logstash,我们通过在其他logstash上启用tcp模块,监听某个端口,然后我 ...

  8. <<< Oracle序列的创建、修改、删除基本操作

    序列是一个命名的顺序编号生成器,可以被多个用户共享,类似sqlserver中的identity create sequence 序列名; //直接创建一个序列 CREATE SEQUENCE 序列名; ...

  9. JQuery中$.ajax()方法参数详解(转载)

    url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...

  10. Java学习资料

    微信扫码:http://v.dxsbb.com/jisuanji/Java之家:http://www.javazhijia.com/bs/biye/137.html一些 http://www.ibei ...