【问题标题】:Notes Designer runs agent after savingNotes Designer 保存后运行代理
【发布时间】:2011-09-14 14:25:03
【问题描述】:

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

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

【问题讨论】:

  • IIRC,这不应该出现在模板 (.ntf) 中。您是直接在数据库 (.nsf) 中开发吗?
  • 是的,在 .nsf 上。我可以通过将开始日期设置为第二天来接受解决方法。

标签: lotus-notes lotusscript


【解决方案1】:

不,这是一个老错误...{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

【讨论】:

  • 我在 6.5 和 8.0 上没有这个,这根本没有意义。你有任何错误报告或类似的参考吗?
  • @PeterMmm,这是真的。我可能没有完全解释它,但我处理了这个问题很长时间。该网站对此进行了更多讨论:cubetoon.com/2007/…
  • 也发现了这个 www-304.ibm.com/support/docview.wss?uid=swg21099248 。很有帮助,谢谢!
【解决方案2】:

在已启用的生产应用程序中编辑代理并不是一种好习惯,但如果您需要对其进行处理,请在一天结束时更改运行时间,直到您完成。您仍然可以从代理视图运行代理,以检查是否有任何更改破坏了进程。

多年来,我实际上发现此功能很有用,因为它允许我通过在 domino Designer 中打开并保存代理来强制服务器重新运行代理。始终可以从代理列表手动运行代理,但不建议这样做,因为它将使用您的凭据(用户 ID)运行,因此如果在服务器 ID 下运行,它的行为方式可能不同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-07
    • 2014-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多