Notes Designer在保存后运行代理

时间:2011-09-14 14:25:04

标签: lotus-notes lotusscript

我最近切换到Notes Designer 8.5.2并注意到我是否正在编辑计划在每天08:00运行的代理,代理在程序员面板中保存更改后立即运行。

这是一项新功能以及如何避免代理现在运行?

2 个答案:

答案 0 :(得分:1)

不,那是一个老bug ... {ahem} ...功能。至少我在6.0和可能更早的时候处理了很多。保存计划的代理程序时,清除计划代理程序今天运行的服务器上的记录,并将代理程序放回队列中。

我采用的解决方法是将预定代理更改为隐藏的手动代理。然后我会创建另一个运行隐藏的手动代理的预定代理。然后,您可以根据需要编辑手动代理,而不会在保存时触发它。

这是我在预定代理中使用的通用代码。只需更改代理的名称,这应该适合您:

Sub Initialize

    Dim s As New NotesSession
    Dim db As NotesDatabase
    Dim agt As NotesAgent

    Set db = s.CurrentDatabase
    Set agt = db.GetAgent("(Send Reminders)")
    Call agt.Run()

End Sub

更新:

如果您有权访问服务器,则可以向Notes.ini添加设置以防止此行为:

Amgr_SkipPriorDailyScheduledRuns=1

答案 1 :(得分:0)

在已启用的生产应用程序中编辑代理程序并不被视为良好做法,但如果您需要对其进行操作,则将更改时间在一天结束时更改为完成。您仍然可以从代理视图运行代理,以检查是否有任何更改未破坏该过程。

多年来我实际上发现这个功能非常有用,因为它允许我强制服务器重新运行代理,只需在多米诺设计器中打开并保存它即可。它总是可以从代理列表中手动运行代理,但这是不可取的,因为它将使用您的凭据(用户ID)运行,因此如果在服务器ID下运行它可能不会以相同的方式运行。