Welcome 微信登录

首页 / 网页编程 / ASP.NET / DNN调度管理解析(三)-----如何运用DNN调度服务

DNN调度管理解析(三)-----如何运用DNN调度服务2010-05-20 cnblogs.com sunwangji BaldwinDNN调度解决方案是在DNN2.1.1开始引进的,它通过提供一个线程池管理调度任务来实现了多线程调度服务。该线程池允许可重用在池中现有的线程,而不需要杀死线程,即而生成新线程的无效率做法。

无疑的,创建一个多线程的应用程序是比较繁琐的,你不得不费尽心思去防止不出现类似两个线程同时读写同一个对象的现象。为了达到实现一个可靠的多线程应用程序,DotNet中存在一些ReadWriteLock的实例去锁定和解锁你需要进行读写操作的对象于达到不出现死锁的瓶颈。

首先不妨先看看在Web.config文件里边DNN调度服务的相关信息:

属性设置:

debug – 若这个属性设置为true,则会产生一些有助于调试DNN调度服务的一些记录信息条目。当你在调试DNN调度程序时,这些会给你足够的信息,尽管调试多线程应用程序是一特繁琐的过程。

maxThreads – 设置调度服务具体在线程池中最大的线程数目,默认为-1,这意味这由调度服务程序自主决定(在调度服务中,默认最大为10)。若你设置该项为大于零的某个数目,则这就是线程池中最大的数目。

enabled – 调度服务开启属性,若设置为fasle,则意味着禁止所有的调度服务。

接着让我们看看DNN里是如何使用调度服务的,在顶端的页签菜单上能找到如:

点击Schedule,将进入Schedule页面,如下图,在这个页面上,你可看到哪个调度任务已被开启和禁止以及运行任务的频率,失效重试的时间间隔,下次开始启动调度服务时间。而在下表每个任务都有两个链接:a)编辑页面链接 b)查看历史链接 (在下边会有提到)