Quartz.net自定义类库接口 使用说明文档

前言:

前端时间共享了quartz.net。有给要源码的,其实贴出的代码已经写的很清楚,有可能没有类库的操作说明,所以今天就写了一个操作说明,希望能有所帮助。

先贴出quartz.net类库的地址:

quartz.net插件类库封装

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

使用流程:

1.引用..\svn\ref\thirdparty\quartz\net40文件夹下所有dll。

2.配置web.config,如下图

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

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

  3.2创建任务

   new QJob("standardsd", "jobid", "轮询缴费", "山东大学").Handle(DoRePay).Start(startTime, times, 0);

  注:standardsd:系统编码(syscode)

Jobid:任务id(jobid)

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

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

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

startTime:任务开始时间(starttime)

times:任务间隔时间(internaltimes)

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

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

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

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

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

注意:

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

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

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

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

调用说明:


调用说明


对象初始化


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) 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();

时间: 2024-10-10 17:59:59

Quartz.net自定义类库接口 使用说明文档的相关文章

H3 BPM接口说明文档

H3 BPM接口说明文档 二〇一七年四月 目 录 1 引擎接口唯一入口:OThinker.H3.IEngine 3 1.1 构造Engine对象 3 1.2 属性 4 2 类:OThinker.H3.Acl.IBizRuleAclManager 6 3 类:OThinker.H3.Acl.IFunctionAclManager 8 4 类:OThinker.H3.Acl.ISystemOrgAclManager 12 5 类:OThinker.H3.Acl.ISystemAclManager 1

weiapi2.2 HelpPage自动生成接口说明文档和接口测试功能

在开发Webapi项目时每写完一个方法时,是不是需要添加相应的功能说明和测试案例呢?为了更简单方便的写说明接口文档和接口测试HelpPage提供了一个方便的途径. 她的大致原理是:在编译时会生成.dll程序集和.xml程序集说明文件,通过xml文件获取Controller名称.action名称.参数信息和备注信息等.这样接口说明文档就可以放到备注信息了,个人觉得确实粗暴简单 .那接口测试在哪呢?这里用到nuget第三方程序包:webapitestclient 先上效果图吧! 案例是用VS2013

微信开发笔记-调用自定义分享接口

文章来自:http://www.cnblogs.com/ysyn/archive/2015/07/23/4665897.html 引言: 工作中开发微信网站,简称微网站.由于微网站的分享内容是系统自动选取的当前网址,客户需要改变分享的内容,即点击屏幕右上角的分享按钮,选择发送给朋友和发送到朋友圈,其中的内容和图片需要自定义.于是查找文档微信JS-SDK说明文档一文和网站众多高手的经验,大体知道了调用的步骤,但是具体如何调用才能成功却是不了解的.经过一番试验,终于成功调用发送朋友和发送到朋友圈两个

开源项目Universal Image Loader for Android 说明文档 (1) 简介

 When developing applications for Android, one often facesthe problem of displaying some graphical content from the Internet. So, youshould provide image loading from the Web in an Android app, their processingand displaying with limited memory aga

Atomikos 中文说明文档【转】

Atomikos 翻译文档(英文文档来源:下载安装包中START_HERE.html)                                  ----译者:周枫 请尊重劳动成果,转载请标明,英语水平有限,如有不准确地方请在评论中指出,谢谢 官网地址:http://www.atomikos.com/Main/WebHome 使用版本:AtomikosTransactionsEssentials-3.7.2 感谢您使用Atomikos,下面的说明文档可以让您正确使用,如果您有任何问题或者

ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了

引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者的心情.或者详细点,或者简单点.那么有没有一种快速有效的方法来构建api说明文档呢?答案是肯定的, Swagger就是最受欢迎的REST APIs文档生成工具之一! 为什么使用Swagger作为REST APIs文档生成工具 Swagger 可以生成一个具有互动性的API控制台,开发者可以用来快速学

自动生成 WebApi 在线说明文档。

1.使用Swashbuckle实现 Swashbuckle 是.NET类库,可以将WebAPI所有开放的控制器方法生成对应SwaggerUI的JSON配置.再通过SwaggerUI 显示出来.类库中已经包含SwaggerUI .所以不需要额外安装. 2.快速开始.前提已有webapi项目 查看webapi项目属性,在[生成]选项卡中勾选X[ML文档文件].在编译过程中会生成一个注释文件 使用NuGet包将Swashbuckle库添加到在webapi项目中 引用后,在App_Start文件夹下会生

ICE中间件说明文档

1       ICE中间件简介 2       平台核心功能 2.1        接口描述语言(Slice) 2.2        ICE运行时 2.2.1         通信器 2.2.2         对象适配器 2.2.3         位置透明性 2.3        异步编程模型 2.3.1         异步方法调用 2.3.2         异步方法分派 2.4        订阅/发布编程模型 2.5        动态服务管理(IceBox) 2.6       

艾恩ASP无组件上传类(上传组件)说明文档(from www.sysoft.cc)

艾恩ASP无组件上传类(上传组件)说明文档2010-1-18 By Anlige一.简介自从接触ASP就开始接触上传,看过一些上传类,但是总感觉封装的还是不够简单,因此自己尝试写一个能够用最少最简单的代码实现各种上传方式的上传类.在学校期间就开始写,一点点的完善.优化,到现在的版本,现在的版本能适应各种上传方式.上传类的主要的功能如下:1.自由设置最大上传大小.单文件最大上传大小2.自由设置允许上传的文件类型3.可设置文本的编码,以适应各种上传环境4.内置进度条,a用户可选择开启和关闭5.多种错