DNN调度解决方案是在DNN2.1.1开始引进的,它通过提供一个线程池管理调度任务来实现了多线程调度服务。该线程池允许可重用在池中现有的线程,而不需要杀死线程,即而生成新线程的无效率做法。
无疑的,创建一个多线程的应用程序是比较繁琐的,你不得不费尽心思去防止不出现类似两个线程同时读写同一个对象的现象。为了达到实现一个可靠的多线程应用程序,DotNet中存在一些ReadWriteLock的实例去锁定和解锁你需要进行读写操作的对象于达到不出现死锁的瓶颈。
首先不妨先看看在Web.config文件里边DNN调度服务的相关信息:
属性设置:
debug – 若这个属性设置为true,则会产生一些有助于调试DNN调度服务的一些记录信息条目。当你在调试DNN调度程序时,这些会给你足够的信息,尽管调试多线程应用程序是一特繁琐的过程。
maxThreads – 设置调度服务具体在线程池中最大的线程数目,默认为-1,这意味这由调度服务程序自主决定(在调度服务中,默认最大为10)。若你设置该项为大于零的某个数目,则这就是线程池中最大的数目。
enabled – 调度服务开启属性,若设置为fasle,则意味着禁止所有的调度服务。
接着让我们看看DNN里是如何使用调度服务的,在顶端的页签菜单上能找到如:
点击Schedule,将进入Schedule页面,如下图,在这个页面上,你可看到哪个调度任务已被开启和禁止以及运行任务的频率,失效重试的时间间隔,下次开始启动调度服务时间。而在下表每个任务都有两个链接:a)编辑页面链接 b)查看历史链接 (在下边会有提到)
版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明!