orchestrator
2023.10
false
UiPath logo, featuring letters U and I in white
Orchestrator 用户指南
Automation CloudAutomation Cloud Public SectorAutomation SuiteStandalone
Last updated 2024年10月17日

时间触发器

重要提示:

触发器时区:在触发器上设置的时区不受租户时区的限制。但是,如果您使用非工作日日历,则无法设置不同的时区。

时间触发器根据在触发器级别定义的时区启动。

基于触发器时区禁用时间触发器。

为定期执行配置的时间触发器会考虑其创建时间的秒数。以下是更改在 CRON 表达式中的体现:

  • 如果时间触发器的创建时间为 12:23:34,且 CRON 表达式为 0 * * ? * *(即设置为每分钟运行),则下一次执行时间将为 12:24:34。

  • 如果时间触发器的创建时间为 12:23:34,且 CRON 表达式为 1 * * ? * *(即设置为每分钟过 1 秒运行),则下一次执行时间将为 12:24:01。

Trigger disabling

默认情况下,当触发器连续 10 次启动失败,并且在过去 24 小时内未成功启动时,系统会自动将其禁用。但是,如果其中一个条件不满足,例如触发器每天至少成功启动一次,或者触发器未达到连续 10 次失败,则它将保持活动状态。

注意:如果自动停用触发器,则该操作将在审核日志中记录为“用户系统管理员停用触发器”。

可以使用 Triggers.DisableWhenFailedCount 参数自定义此值。

建议

  • 禁用触发器后,检查审核日志以找出作业失败的原因。

  • 如果您有长时间运行的作业,请尝试以允许更多待处理作业的方式设置触发器,或者尝试安排触发器运行时间以降低运行频率。

执行目标

您可以配置多个规则,具体取决于执行哪些关联的流程。

 

描述

动态分配

动态分配

根据给定的触发条件定义一个流程要执行的次数。此选项使您可以最大程度地利用资源。一旦机器人变为可用状态,它就会根据提供的触发器执行指示的流程。

 

帐户

该流程在特定帐户下执行。仅指定帐户会导致 Orchestrator 动态分配计算机。同时指定帐户和计算机模板意味着作业将在该帐户-计算机对上启动。

 

计算机

此流程在附加到所选计算机模板的其中一台主机上执行。仅指定计算机模板会导致 Orchestrator 动态分配帐户。同时指定帐户和计算机模板意味着作业将在该帐户-计算机对上启动。

注意:确保将执行作业所需的运行时许可证分配给关联的计算机模板。
 

主机名

选择计算机模板后,系统将显示“主机名”选项,允许您选择所需的工作站/机器人会话以执行流程。

系统将显示活动文件夹中的所有可用会话,包括未连接、已断开连接或已连接的会话。

注意:只有无人值守运行时可用于配置映射。确保将执行作业所需的运行时许可证分配给关联的计算机模板。

选择有效的帐户-计算机映射

该流程可以在多个特定的帐户-计算机对上执行。了解有关用户-计算机映射的更多信息

备注:
  • 选择未激活的主机名(即处于“无响应”或“已断开连接”状态)时,系统将显示警告。

  • 无法从触发器所在的文件夹中删除或取消分配触发器中使用的映射中的帐户。 确保未在触发器中将该帐户设置为执行目标,以便将其删除。

注意:选择未激活的主机名(即处于“无响应”或“已断开连接”状态)时,系统将显示警告。在与 Orchestrator 建立相应的连接之前,计划由非活动会话执行的作业将保持“待处理”状态。
  • 要确定选择未激活的主机名,请单击“确认”。

  • 要返回并选择另一个主机名,请单击“取消”。

使用相同的帐户-计算机映射配置相同的触发器,但如果使用额外的主机名选择,会导致要执行的作业数量增加一倍。
  • 例如,假设您配置了触发器 T1,其中帐户 A1 映射到计算机模板 MT1。在此配置中,有十个作业排队。

    稍后,您使用映射到计算机模板 MT1 的帐户 A1 配置相同的触发器 T1,但现在您还要选择主机名 H1。在这种情况下,十个相同的作业将再次排队,因为 Orchestrator 会将配置解释为新配置。

注意:如果与 SQL 数据库的连接由于任何原因而断开,则本应在那时触发的触发器将不会触发,并生成错误级别的警示。

排队的作业场景

  1. 如果您在同一机器人上设置了多个触发器,并且它们的执行时间至少重叠了一次,则作业将排队,处于挂起状态。机器人按时间顺序执行排队的作业。
  2. 如果在同一机器人上多次计划了同一流程,并且它们的执行时间重叠,则只有一个流程以待定状态中排队。例如,如果将 Robot X 上的流程 A 安排为在 11:20、11:21 和 11:25 运行,则行为如下:

    • 在 11:20 执行第一个流程。
    • 如果第一次执行在第二次触发之前完成:

      • 第二个触发器已处理。

        • 如果此执行在 11:25 触发器之前完成,则后者也将执行。
        • 如果 11:21 触发器的执行未在 11:25 触发器之前完成,则后者将以挂起状态添加到队列中。
    • 如果第一个执行在第二个触发器之前未完成:
      • 11:21 触发器处于队列中,为挂起状态。

        • 如果 11:21 触发器的执行在 11:25 触发器之前完成,则后者也将执行。
        • 如果 11:21 触发器的执行启动了,但未在 11:25 触发器之前完成,则后者将以挂起状态加入队列中。
        • 如果 11:21 触发器在 11:25 触发器应开始时仍处于待定状态,则后者将不再执行或添加到队列中,并显示以下消息:“对于此流程,机器人已经有待定作业。”
  3. 如果要在任何可用的机器人上多次执行一个流程,则可以使用“执行目标”选项卡上的“动态分配”选项来执行。作业在相应的环境中排队,并处于挂起状态,每当机器人可用时,都会执行队列中的第一个作业。这样,在有待处理的作业时,不会有机器人处于空闲状态。

    假设您要运行一个流程 7 次。计划触发后,会将 7 个待处理作业添加到环境工作负载中,而不会分配给特定的机器人。可能有两种情况:

    • 触发时至少有 7 个机器人可用 - 向每个机器人分配一个作业,以便一次性执行所有作业。
    • 触发时可用的机器人少于 7 个(例如 4 个)- 向 4 个机器人中的每个机器人分配一个作业,如果新机器人或 4 个机器人之一可用,则机器人将接管剩余 3 个机器人的另一个作业。在没有剩余作业之前,每个可用的机器人都会发生这种情况。
  4. 如果两个或多个触发器运行相同的流程,每个触发器执行不同的次数,则在下一次触发时,它们之间的最大作业数将添加到环境工作负载中;他们不会累积。想象一下以下情况:触发器 A 运行 13 次,触发器 B 运行 20 次。可能会出现以下情况:

    • A 和 B 同时触发 - 环境工作负载中有 20 个作业(13 到 20 之间的最大值)排队。
    • B 先触发 - 20 个作业排队

      • 如果在 B 的触发时间和 A 的触发时间之间执行了 7 个或更多作业(例如执行了 9 个作业,剩余 11 个待处理作业),则环境工作负载中有 13 个作业(11 到 13 之间的最大值)排队。
      • 如果在 B 的触发时间和 A 的触发时间之间执行的作业少于 7 个(例如执行了 5个,剩余 15 个待处理作业),则没有更多作业排队,因为已有超过 13 个作业待处理。此外,系统还会显示以下消息:对于此流程,机器人已经有待定作业
    • A 先触发 - 13 个作业排队。

      • 每当在 A 的执行期间触发 B 时,最多会向环境中添加 20 个作业,具体取决于 A 中正在进行或已执行的作业数量。假设已执行 6 个作业。当 B 触发时,将添加 13 个作业,从而达到 20 个作业的上限。
  5. 如果计划多次运行相同的流程,则相关队列中的作业将限制为在定义计划时在执行目标选项卡上指定的执行次数。它们不会随触发器的每次启动累加。

    假设您要每 30 分钟运行相同的流程 10 次。首次启动触发器时,将有 10 个作业排队。如果在两次触发之间执行的作业少于 10 (例如 4 个),则在下一次触发时仅有 6 个新作业排队,因为该流程的待定作业数最多为 10。

使用 UiPath Activities 创建的时间触发器

RPA Developer 也可以在设计时在 Studio 中使用 UiPath.Core.Activities 包的“时间触发器”活动创建时间触发器。

Orchestrator 将这些类型的触发器标识为包要求,通过“包要求”页面完成相关操作是在 Orchestrator 中添加这些触发器的唯一方法。

在设计时设置的任何配置都会反映在 Orchestrator 中,并且无法修改。

例如:每个工作日下午 6:00,我想将所有新的 Excel 文件自动上传到云端硬盘。此处的区别在于,时间触发器指示自动化从工作流内部开始,而 Orchestrator 时间触发器指示自动化从工作流外部开始。

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo White
信任与安全
© 2005-2024 UiPath。保留所有权利。