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 with other enterprise portals, he proceeded to

add integrated exception handling and event logging to the application. This added

stability and “auditability”; two major factors in most professional software products.

He also added a complex, multithreaded scheduler to the application. The Scheduler

was not just a simple hard-coded implementation like I had seen in other ASP.NET

projects,but rather it was fully configurable via an administration user interface. This

powerful new feature could be used to run background housekeeping jobs as well as

long-running tasks. With this in place,the extensibility of the application improved yet

again.

呵呵,转入正题,由于调度服务是在Web应用程序的环境下运行的,故不可避免会出现中断或掉线的情况,这时调度服务显然会被中止,所以调度服务必然不会24小时的运转着,而只能借助设置一定的时间间隔来执行该调度服务,而DNN的调度任务就是根据已定义的调度日程来执行且只能在程序正常运行时有效,当然你也可以通过具体设置任务执行的频率周期来让调度任务自动执行(该频率属性是以分钟/小时/天来区分的)

The API

SchedulingProvider($DNNRoot/Components/Providers/Scheduling目录下)于DNN其他提供者类类似,这个调度提供者类为调度程序的实现提供必须的一些方法:


同时声明调度事件委托:

时间: 2024-07-30 14:59:26

DNN调度管理解析(一)-----简单介绍及其API的相关文章

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

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

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

在前面提到DNN中是可以提供自定义调度服务的,为了在DNN实现自定义调度,开发者需要创建一个类继承于DotNetNuke.Services.Scheduling.SchedulerClient (在$DNNNroot/ Providers/Scheduling/子目录下),而且必须提供一个构造函数和一个DoWork()方法,在构造函数里你可以设置ScheduleHistoryItem为引入的参数: 而在DoWork()方法里你需要把你的逻辑代码包含于Try-Catch捕捉异常代码块中. 解析代码

IBMPlatformComputing工作负载管理解析

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

简单介绍Python的Django框架的dj-scaffold项目

  这篇文章主要介绍了简单介绍Python的Django框架的dj-scaffold项目,用于辅助Django框架的目录设置,需要的朋友可以参考下 由于Django没有象rails一样指定项目的目录结构规范,很多人都对django项目的目录结构要如何组织而感到困惑.为此我又新创建了一个开源项目dj-scaffold(django的脚手架).这个项目用于自动生成一个标注化的django项目和app. 项目地址:https://github.com/vicalloy/dj-scaffold 安装 已

WinPE的简单介绍

  WinPE的简单介绍          所谓的"应用系统"就是专门用来进行普通的电脑应用.办公或娱乐,可以部分地.甚至完全地把围绕硬盘的所谓"维护"抛开,从而加快启动速度.对于一般普及水平的家用电脑用户来说,这样一个无盘系统无需日常维护,不会感染病毒,关机也不必等待.用时髦语言来说:"稳定,和谐".特别是对于单一用户的笔记本电脑,这样的系统功能上相当于一个上网本,但不用杀软,也无需任何日常维护. 当然,所谓"免维护"也并非

windows 7 游戏资源管理器的简单介绍

说windows 7游戏资源管理器相信很多人都不了解这个东西.当然个人感觉稍微了解下就行了,不建议去使用它.因为它在中国并不普及.那么接下来我们就简单了解windows 7游戏资源管理器吧! 1 windows 7游戏资源管理器简介: 游戏资源管理器跟我们的游戏平台一样,就像QQ游戏,QQ对战平台等之类的差不多.里面既有小游戏,也有一些比较大型的游戏.当然里面大部分都是外国类的游戏,所以如果喜欢玩外国游戏的朋友,这个平台能让你找到很多外国朋友.而时间情况中国人很少人用这个平台的,因为界面是英文的

[喵咪MQ(1)]RabbitMQ简单介绍准备工作

[喵咪MQ(1)]RabbitMQ简单介绍准备工作 前言 哈喽大家好呀! 看标题就知道我们这次要讲MQ,之前博客中有提到的KafKa理论上来说也是一个优秀的MQ队列软件,比较知名的MQ有:Go语言编写的 nsq , 阿里云的RocketMQ , 大名鼎鼎的KafKa 以及 redis(也可以做队列),不过我们这次的主角是RabbitMQ. 附上: 喵了个咪的博客:w-blog.cn RabbitMQ官网 :http://www.rabbitmq.com/ 1.队列做什么?RabbitMQ是什么?

[python知识] 爬虫知识之BeautifulSoup库安装及简单介绍

一. 前言         在前面的几篇文章中我介绍了如何通过Python分析源代码来爬取博客.维基百科InfoBox和图片,其文章链接如下:        [python学习] 简单爬取维基百科程序语言消息盒         [Python学习] 简单网络爬虫抓取博客文章及思想介绍         [python学习] 简单爬取图片网站图库中图片        其中核心代码如下: # coding=utf-8 import urllib import re #下载静态HTML网页 url='h

phalapi-入门篇1(简单介绍以及环境搭建)

phalapi-入门篇1(简单介绍以及环境搭建) 前言 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 笔者也是在进行接口开发时,寻找一个方便的针对与API开发的框架时,发现了这个框架,经过了短时间的尝试,发现确实很便捷效率很高 后面就立即运用到了正式的项目上,而且在后面的项目仍在一直使用,在其间也和很多希望了解这个框架的朋友有过很多交流,所以决定 写一篇关于这个框架的教程,一方面是为了帮助一些初学者快速了解,一方面是希望把自己在实际上运用的一些小技巧