DNN调度管理解析(二)-----自定义调度任务

在前面提到DNN中是可以提供自定义调度服务的,为了在DNN实现自定义调度,开发者需要创建一个类继承于DotNetNuke.Services.Scheduling.SchedulerClient

(在$DNNNroot/ Providers/Scheduling/子目录下),而且必须提供一个构造函数和一个DoWork()方法,在构造函数里你可以设置ScheduleHistoryItem为引入的参数;

而在DoWork()方法里你需要把你的逻辑代码包含于Try-Catch捕捉异常代码块中。

解析代码

比如下边提供的一个调度任务,它实现了将所有的日志文件搁放在一个相应的文件夹里边(我们可设置让该调度程序每天运行一次,而文件夹名称即为该调度任务执

行的日期),这无疑给庞大的日志文件管理提供极大的方便!其中需要注意的就是DoWork()方法的实现,在这列几点:

1)Me.Progressing 即是告知调度服务任务正在执行,这在运行长期的调度任务很有用处尽管这是可选的

2)Me.ScheduleHistoryItem.Succeeded = true 即是在任务完成之后需要赋值在此

3)如果你需要增加一些信息到调度服务执行历史的话,你需要调用AddLogNode()方法

4)必须捕捉错误,如果调度服务出现异常的话

代码实现如下:


一旦这个自定义类被编译之后,只要在DNN的调度列表添加进去了,该调度服务就可以被执行并实现其调度功能。

注意:上边程序注释标有“REQUIRED”的部分为必须实现项,如此该调度程序才能被统一处理和正确执行。

时间: 2024-08-03 10:17:52

DNN调度管理解析(二)-----自定义调度任务的相关文章

DNN调度管理解析(一)-----简单介绍及其API

简单介绍 调度管理是DNN提供给开发者在一定的时间间隔实现调度任务的一种机制. 类似,它也是在提供者模式的基础上实现的,所以可以不更改核心代码就创建新的或修改原有的调度服务.查看有关资料你会发现这是DNN核心团队的成员Dan Caron 的巨大贡献: It was during this time that Dan Caron single-handedly made a significant impact on the project. Based on his experience wit

DNN调度管理解析(三)-----如何运用DNN调度服务

DNN调度解决方案是在DNN2.1.1开始引进的,它通过提供一个线程池管理调度任务来实现了多线程调度服务.该线程池允许可重用在池中现有的线程,而不需要杀死线程,即而生成新线程的无效率做法. 无疑的,创建一个多线程的应用程序是比较繁琐的,你不得不费尽心思去防止不出现类似两个线程同时读写同一个对象的现象.为了达到实现一个可靠的多线程应用程序,DotNet中存在一些ReadWriteLock的实例去锁定和解锁你需要进行读写操作的对象于达到不出现死锁的瓶颈. 首先不妨先看看在Web.config文件里边

Java线程池架构(二)多线程调度器

在前面介绍了java的多线程的基本原理信息:<Java线程池架构原理和源码解析>,本文对这个java本身的线程池的调度器做一个简单扩展,如果还没读过上一篇文章,建议读一下,因为这是调度器的核心组件部分. 我们如果要用java默认的线程池来做调度器,一种选择就是Timer和TimerTask的结合,在以前的文章:<Timer与 TimerTask的真正原理&使用介绍>中有明确的说明:一个Timer为一个单独的线程,虽然一个Timer可以调度多个 TimerTask,但是对于一

Java线程池管理及分布式Hadoop调度框架搭建

多线程是程序员面试时常常会面对的问题,对多线程概念的掌握和理解水平,也常常被用来衡量一个人的编程实力.不错,普通的多线程已经不容易了,那么当多线程碰到"大象"又会产生什么样的火花?这里我们为大家分享上海创行科技技术总监严澜的博文--Java线程池管理及分布式Hadoop调度框架搭建. 平时的开发中线程是个少不了的东西,比如tomcat里的servlet就是线程,没有线程我们如何提供多用户访问呢?不过很多刚开始接触线程的开发工程师却在这个上面吃了不少苦头.怎么做一套简便的线程开发模式框架

山东黄金集团“走访调度”管理模式

山东黄金集团新城金矿积极摸索和http://www.aliyun.com/zixun/aggregation/466.html">创新调度管理模式,并于近日开始走访调度相关生产单位,促进一线生产运行更加高效稳健.山东黄金集团新城金矿组织调度人员深入施工,现场指挥调度.同时这种"走访调度"的管理模式是山东黄金的一种新的管理方法. 山东黄金集团新城金矿调度人员深入到施工现场,听取施工队伍在生产过程中发现的生产制约点和需要协调解决的事项,并对部分生产问题做出即时答复,现场发挥

云计算在调度管理中的应用与研究

云计算在调度管理中的应用与研究 李珏 调度系统对于企业的生产管理非常重要,早期的调度系统功能简单,不能满足企业日益复杂的调度管理工作.针对企业规模的不断扩大和经营场地在物理位置上的分散性问题,提出一种基于云计算的企业调度管理系统的设计,通过分散管理和决策机制对分布在不同计算节点上的数据进行分析和计算,使整个系统的负载均衡. 云计算在调度管理中的应用与研究

IBMPlatformComputing工作负载管理解析

本文讲的是<strong>IBMPlatformComputing工作负载管理解析,</strong>[IT168 资讯]IBM Platform Computing提供了一系列工作负载管理能力以优化运行各种采用高性能计算集群的应用,并通过多样化工作负载.业务优先级以及应用资源需求确保较高的资源使用率.工作负载管理有效地利用计算资源来尽可能快速地完成工作负载.为了实现有效的工作负载分配,这里需要一个智能的调度策略.智能的调度策略是基于对共享计算资源.应用优先级以及用户策略的了解.提

Nutch index源代码解析二)

Nutch index源代码解析二) 博客分类: 大数据处理研究 Ntuch solrhadoop爬虫 接着上篇文档~~~~~ 上篇文章写到,Nutch采用一个MR对爬取下来的文档进行清洗和封装成一个action列表. 接下来介绍怎么爬取下来的数据如何推送给solr. ----------------------------------------------------华丽的分割线--------------------------------------------- Ntuch自定义了一个

使用zxing工具包创建和解析二维码

关于二维码是什么,以及二维码是如何生成的,我也没有研究得很深入,就不多说了,以免误导大家.请参看: java 二维码原理以及用java实现的二维码的生成.解码 二维码的生成细节和原理 下面是一个可以生成和解析二维码的工具类,该类用到了zxing工具包,我通过Maven去下载的: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 <dependencies>     <!-- JavaSE包依赖于Core包,因此Core包不需要直接依赖了     <dependency