您现在的位置: 无忧电子商务网 >> 信息学院 >> 程序开发 >> asp.net >> 正文

Community Server专题七: Job & Timer

作者:佚名    信息学院来源:整理    点击数:    更新时间:2008-1-30 我要参与讨论

  ntentJob, CommunityServer.Blogs" enabled = "true" enableShutDown = "false" />

         <job name = "RebuildThumbnailsJob" type = "CommunityServer.Galleries.Components.RebuildThumbnailsJob, CommunityServer.Galleries" picturesPerRun = "25" enabled = "true" enableShutDown = "false" />

</Jobs>

解释一下这些xml的节点意思:

<Jobs minutes = "5" singleThread = "false">

minutes:执行回调函数TimerCallback的时间与时间间隔,这里是5分钟,也就是说执行回调函数在初始化请求之后的五分钟开始,并且每五分钟一次。

singleThread:是单线程还是多线程,前面说过为Timer创建的TimerCallback的实例不在创建计时器的线程中执行,而是在系统提供的一个单独线程池线程中执行,如果值为“false”就会为每个Job创建一个Timer线程,如果为“true”就创建一个Timer。

<job>节点比较灵活,一些属性是该节点特有的,这是根据实现IJob接口类的需要决定的,以Email发送的类为例:


<job singleThread = "false" minutes = "5" name = "Emails" type = "CommunityServer.Components.EmailJob, CommunityServer.Components" enabled = "true" enableShutDown = "false" failureInterval = "1" numberOfTries = "10" />


singleThread:当头CS版本中没有用到。

Minutes:执行回调函数TimerCallback的时间与时间间隔,这里是5分钟。

name:该Job的唯一标识。

type:该Job所在的名字空间,逗号后面的是该Job所在的程序集dll文件名称。

enabled:如果为“false”该Job会被关闭,也就是不会实例化一个定时器。“true”则为开启该Job。

enableShutDown:这个有点意思,用途是当该Job在执行Execute时,如果长生异常是否关闭这个Job,也就是说是否还允许它再次运行。“false”表示允许,“true”表示不允许。

failureInterval:如果发送邮件失败,与下次尝试再次发送的时间间隔,单位是分钟。

numberOfTries:如果发送邮件失败,该Job会尝试几次,这里是10次。

   现在回到我们开始时候在CSHttpModule.cs中看到的这句:

Jobs.Instance().Start();

首先调用Jobs,实例化一个Jobs类,这个类在CS中有且只有一个实例。之后调用Jobs中的Start()方法。Jobs为了确保系统的安全,在开始之前先调用Stop(),现释放之前为

上一页  [1] [2] [3] [4] [5] [6] [7] 下一页

在google里搜索更多Community Server专题七: Job & Timer

Google
Web www.51ec.org
【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
我来说两句 对此文章发表了评论
  昵 称: *必填    ·注册用户·
  评 分: 1分 2分 3分 4分 5分     严禁发表危害国家安全、政治、黄色淫秽等内容的评论,用户需对自己在使用本网站服务过程中的行为承担法律责任。本站管理员有权保留或删除评论内容,评论内容只代表机友个人观点,与本网站立场无关。  
评 论
内 容

 
评论列表 (最新 评论仅限网友观点!)

供求信息




| 设为首页 | 加入收藏 | 关于我们 | 广告服务 | 联系方式 | 友情链接 | 版权申明