欢迎来到天天文库
浏览记录
ID:24091874
大小:25.00 KB
页数:3页
时间:2018-11-12
《新邮件到达前与新邮件到达后》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、产品:LotusDominoDesigner平台:Windows软件版本:8.0,7.0,6.5,6.0,5.0问题描述代理类型“新邮件到达前”和“新邮件到达后”有什么差别?当用到这些类型代理时应该有哪些考量呢?解决方案执行代理的服务器任务“新邮件到达前”代理由Router任务而不是由代理管理器(AMGR)执行。当代理被设为“在新邮件到达前”触发时,Router任务先执行指定的代理,然后在将邮件传递给收件人。几乎是在收到新邮件后立即执行代理。“新邮件到达后”代理由代理管理器(AMGR)执行。此类型的代理并非在完成邮件邮递
2、后立即执行,而是将状态从“已触发”改为“按计划执行”。之后,会被移到符合条件的队列中执行。从已触发状态到执行可能需要经过几分钟或较长时间,取决于先前在符合条件的队列中已有多少代理排队等待执行。允许的代理数每个数据库仅允许启用一个“新邮件到达前”代理。(可以允许其他“新邮件到达前”代理存在,但必须禁用)每个数据库可以启用许多“新邮件到达后”代理。注意,如果多个数据库中的多个“新邮件到达后”代理同时被启用,服务器的性能会受到影响。文档处理的不同取决于代理触发条件,可能会采用不同的文档处理方式。如果代理触发条件是“新邮件到达前
3、”,对于每封送达的邮件,代理执行一次。因此,建议使用NotesSession类的DocumentContext属性(对于LotusScript开发人员),或者使用AgentContext类的getDocumentContext属性(对于Java开发人员)获取新邮件的句柄并正确处理它。如果代理触发条件是“新邮件到达后”,从代理被触发到实际运行之间可能会间隔几分钟。此时,出问题的数据库可能会收到多封邮件。因此,建议使用NotesDatabase类的UnprocessedDocuments属性(对于LotusScript开发人
4、员)或AgentContext类的getUnprocessedDocuments属性(对于Java开发人员)对代理未处理的文档集进行处理。问题的关键在于“新邮件到达前”代理每次处理一个文档,而“新邮件到达后”代理在按计划执行时可以一次处理多个文档。除非对代理响应时间要求很高,在大多数情况下选择“新邮件到达后”触发条件可以提高代理执行效率,单次执行就可以处理多个文档。“新邮件到达后”代理的执行间隔和默认的延迟时间通过在Notes.ini参数可以设定执行间隔的分钟数,这也决定了代理执行的频率。下列参数的值都可以被调小(相应提
5、高了代理执行的频率),然而,可能会对服务器的性能产生潜在的影响。当服务器性能受到影响时,可以把参数的值试着调大一些,目的是在性能和代理延迟时间之间求得平衡。注意:下列参数的细节请参考Domino管理帮助文档中的相关条目,主题是“代理在期望的时间内不运行”,“提高代理管理器的性能”和“Notes.ini的设置”AMgr_NewMailAgentMinInterval这个参数指定了两次执行同类“新邮件触发事件”代理的最短间隔(以分钟为单位)。默认值是0(允许立即执行)。与AMgr_DocUpdateAgentMinInter
6、val相似,设置参数值会使得代理执行频率降低。AMgr_NewMailEventDelay这个参数指定了在新邮件到达后,代理管理器执行“新邮件触发事件”代理之前的延时时间(以分钟为单位)。默认值是1分钟。和AMgr_DocUpdateEventDelay相似,参数可以保证代理运行的间隔不小于设定的延迟时间值。当代理执行时,它也负责处理其他(如果存在)在最近一次执行后安排进来的事件。设置较大的时间间隔会使得代理执行频率降低,从而使占用服务器的时间也降低。同理,如果文档更新并不频繁,您可以将时间间隔改小,使代理执行频率提高。
7、“新邮件到达前”代理的性能考量,限制和用法由于Router任务负责执行“新邮件到达前”代理,推荐您将代理程序精简并保持高效,避免对邮件路由产生影响。因为效率考量至为重要,所以在设置“新邮件到达前”代理时需要遵循以下限制:不允许代理调用其他代理。不允许代理修改附件。允许代理检查和拆离附件。除收件箱之外,外来邮件还可以被拷贝到另一个指定的文件夹中。Domino服务器严格限定了代理执行时间(默认是30秒),限制对“新邮件到达前”类型的代理生效,和服务器文档中定义的“LotusScript/Java最多执行时间:”不同,后者设定
8、的是其他类型的代理执行时间,但不适用于“新邮件到达前”代理。“新邮件到达前”代理执行时间可以通过服务器配置文档>路由器/SMTP>限制和控制>邮递控制选项卡配置,这个域的标题为“预邮递代理超时”(域名为"NewMailAgentTimeout")。使用LotusScriptNotesSession类的Document
此文档下载收益归作者所有