现在做的项目都有用到Schedule,现在用一点时间来总结。

一、首先要到Nuget中下载Quartz.net。

二、下载下来了,你需要对它进行配置,使它能给你正常的使用。

三、在Global.asax中进行quartz进行初始化。

四、quartz_jobs_Schedule.xml 可以在这边个格式是这样的。 

<schedule>
<name>DownloadDso</name>
<job-type>LocalKwmsOne.Schedule.Jobs.DownloadDSOToSystem, LocalKwmsOne.Schedule</job-type>
<durable>true</durable>
<recover>false</recover>
<cron-expression>0/45 * * * * ?</cron-expression>
<status>Enabled</status>
</schedule>

五、这边一个建立一个list来保存xml文件中的节点中各个字段的值。

public List<ScheduleTask> ScheduleTaskInit()
{
List<ScheduleTask> ScheduleTask = new List<ScheduleTask>();
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(quartz_jobs_Schedule_Path);
XmlNodeList nodeList = xmlDoc.SelectSingleNode("job-scheduling-data").ChildNodes;

foreach (XmlNode xn in nodeList)
{

string taskName = String.Empty;
string taskType = String.Empty;
string cronString = String.Empty;
string taskStatus = String.Empty;
Dictionary<string, object> taskParameter = new Dictionary<string, object>();

XmlElement xe = (XmlElement)xn;
XmlNodeList nls = xe.ChildNodes;
foreach (XmlNode xn1 in nls)
{
if (xn1.Name == "name")
{
taskName = xn1.InnerText;
continue;
}
if (xn1.Name == "job-type")
{
taskType = xn1.InnerText.Split(',')[0];
continue;
}
if (xn1.Name == "status")
{
taskStatus = xn1.InnerText;
continue;
}
if (xn1.Name == "cron-expression")
{
cronString = xn1.InnerText;
continue;
}
taskParameter.Add(xn1.Name, xn1.InnerText);
}
if (ScheduleTask.Where(t => t.TaskName.Equals(taskName)) != null && ScheduleTask.Where(t => t.TaskName.Equals(taskName)).Count() > 0)
continue;
ScheduleTask.Add(new ScheduleTask(taskName, taskType, cronString, taskParameter, taskStatus));
}
return ScheduleTask;
}

六、然后在global中进行参数传入,进行foreach每一个list初始化,scheduler.scheduleJob(,);这边进行Schedule的

设置。

Schedule 学习的更多相关文章

  1. springTask和Schedule学习

    Spring 4.x Task 和 Schedule 概述 http://www.jianshu.com/p/1778f6b9646e spring framework --- 定时任务(翻译官方文档 ...

  2. Cocos2d-x学习笔记(六) 定时器Schedule的简单应用

     Cocos2d-x中的定时器使用非常easy,共同拥有3种:schedule.scheduleUpdate和scheduleOnce.简介一下三种的差别: schedule,每隔指定时间运行某个 ...

  3. Python源码学习Schedule

    关于我 一个有思想的程序猿,终身学习实践者,目前在一个创业团队任team lead,技术栈涉及Android.Python.Java和Go,这个也是我们团队的主要技术栈. Github:https:/ ...

  4. 【转】Python源码学习Schedule

    原文:https://www.cnblogs.com/angrycode/p/11433283.html ----------------------------------------------- ...

  5. 定时任务调度工作(学习记录 四)schedule与scheduleAtFixedRate的区别

    根据两种情况来看区别 一.首次计划执行的时间早于当前的时间 1.schedule方法 “fixed-delay”:如果第一次执行时间被延迟了,随后的执行时间按照上一次实际执行完成的时间点进行计算 演示 ...

  6. 全面学习ORACLE Scheduler特性(4)创建和管理Schedule

    三.使用Schedules 10g 中新推出的SCHEDULER可能确实会让很多初接触的朋友感觉晕头晕脑,相比之前的jobs,SCHEDULER中新增的概念太多.比如说jobs,仍然可以理解成之前版本 ...

  7. Python3.7.1学习(二)使用schedule模块定时执行任务

    python中有一个轻量级的定时任务调度的库:schedule.他可以完成每分钟,每小时,每天,周几,特定日期的定时任务.因此十分方便我们执行一些轻量级的定时任务. 1 安装  1.1在cmd中输入p ...

  8. 【学习中】Unity<中级篇> Schedule

    章节 内容 签到 Unity3D 实战技术第二版视频教程(中级篇) 1.游戏引擎发展史 2.Unity发展史 3.3D图形学与必要组件 5月19日 4.核心类_GameObject类 5月19日 5. ...

  9. cocos2d-x 3.0 学习笔记: 一个可以拖拽的Label及schedule的应用

    #ifndef _DRAGLABEL_H_ #define _DRAGLABEL_H_ #include "cocos2d.h" USING_NS_CC; class DragLa ...

随机推荐

  1. Linux Apache配置多个站点同时运行

    这样一种场景:我们有一台服务器:但是想挂多个网站:那么Apache下配置虚拟主机可以满足这个需求: 比较简单的是基于主机名的配置步骤如下: 示例环境 ip:115.28.17.191 域名:baiju ...

  2. linux笔记:linux服务管理

    linux服务的分类: 启动和自启动: 查询已经安装的服务: RPM包的默认安装路径: 独立服务的启动: 独立服务的自启动: 基于xinetd的服务的管理: xinetd服务的自启动: 源码包安装服务 ...

  3. 利用node来下载图片到本地

      本文是针对于知道图片地址的下载图片方法. 同时也是我的处男作(额,怪怪的〜);不要在意这些细节. 最近在弄项目迁移,需要把http的链接全换成https的:以前的cms不支持http的协议,然后就 ...

  4. 改造laravel的登录流程,仅使用一个token登录laravel

    背景:最近使用lavavel来改造目前的系统,但是之前的老系统还不能立马下线,这时就出现了双系统共存的状态,需要解决的一个问题就是一次登录2个系统. 第一步 修改中间件App\Http\Middlew ...

  5. lua实现私有函数

    本文是原创文章,如需转载,请注明文章出处 要用lua实现私有函数,关键就是使用metatable的特性来实现. Test.lua: local v = {};v.x = 100;v.y = 200; ...

  6. A flash of Joy

    import re from datetime import timedelta from tornado import httpclient, gen, ioloop, queues peoples ...

  7. iedriverserver使用报错

    在win7下面使用IEdriverserver报错:   AttributeError: 'Service' object has no attribute 'process'   1,下载最新的ie ...

  8. kafka 搭建与使用

    消息量非超级多不建议使用,可以使用redis或Beanstalkd 使用简单 Beanstalkd 客户端建议用:composer require pda/pheanstalk 如果无JAVA JDK ...

  9. 使用COALESCE时注意left join为null的情况

    1.使用COALESCE时,用到group by with cube,如果之前两个表left join时,有数据为null,就会使得查出的数据主键不唯一 例如: select COALESCE (c. ...

  10. Oracle表空间,用户,用户授权

    一:Oracle表空间 1,Oracle表空间与SQL Server文件组对比 SQL Server的文件组(文件组包括若干MDF,NDF数据文件)对我们来说并不陌生,前段时间我在博客“怎样玩转千万级 ...