自动删除旧任务运行(机器人作业)

使用三个预先构建的 Python/HCL 脚本,即可实现删除机器人中旧任务运行的流程自动化。 如果您有一个或多个经常运行的机器人,则保存的任务运行数量可能会迅速增加。 对于使用本地部署机器人代理的组织,旧任务的累积与关联的结果数据一起运行,这可能会导致服务器空间不足。 自动删除旧任务运行可以免除持续不断的手动删除,保留服务器空间,以及保持机器人界面干净整洁。

说明

在机器人界面的某些位置以及预先构建的脚本中,任务运行也称“作业”。 任务运行与机器人作业是同一回事。 它们都是指单次执行或运行的机器人任务。

注意

在运行任意预先构建的删除脚本之前,请仔细检查您指定的输入值。 请确保这些值适合于贵组织的机器人数据。 如果在指定输入值时犯错,则可能会无意中删除当前数据。

而且这些数据会永久删除,无法撤消。

请注意,其中两个脚本会从生产模式和开发模式删除符合条件的任务运行。 运行脚本的模式对此行为毫无影响。

Diligent One 帐户要求

预先构建的脚本需要 HighBond 访问令牌作为脚本输入参数之一。 要删除任务运行,必须为与令牌关联的 Diligent One 用户账户分配目标机器人的所有者或编辑者角色。

有关详细信息,请参阅创建和管理 HighBond 访问令牌机器人应用程序权限

预先构建的删除脚本的工作原理

首先从下面提供的链接下载一个或多个删除脚本,然后将每个脚本上传到各自专用的 HighBond 机器人。(每个机器人一个脚本。)在机器人中创建一个任务,配置和安排删除脚本。可配置的脚本参数,让用户能够指定应该删除的任务运行。

删除机器人与目标机器人

将包含删除脚本的机器人视为删除机器人。 用于配置和计划删除脚本的任务是删除任务。 您可以使用删除机器人和删除任务,删除另一个机器人中运行的旧任务。 将另一个机器人视为目标机器人。 如果您将删除限制为目标机器人中的一项特定任务,则将此任务视为目标任务

您可以根据需要创建任意数量的删除机器人或删除任务。 要理解的一个关键点在于,您在一个机器人中设置删除脚本,并使用这些脚本删除另一个机器人中运行的旧任务。

删除脚本适用于任意机器人类型

虽然删除脚本均使用 Python/HCL 编写,并且包含在 HighBond 机器人中,但用户可以使用这些脚本从任何机器人类型(包括 ACL 机器人)删除旧任务运行。 用户无需了解 Python/HCL 即可使用删除脚本。 下面会介绍设置删除脚本的分步操作说明。

HCL HighBond API 方法与 HighBond API

The deletion scripts use HCL HighBond API methods and the HighBond API to retrieve and delete task runs. If you know Python/HCL, you can modify the behavior of the deletion scripts, if required. For more information, see HCL HighBond API 方法 and the HighBond API Reference.

删除任务运行数据

删除任务运行只会删除与该运行相关联的结果数据:

  • 结果表

  • 结果文件

  • 结果日志

不会删除运行任务过程中生成的 Analytics 数据表或 Python/HCL 工作文件。这些表格和文件会保存在输入/输出选项卡(ACL 机器人)或工作数据选项卡(HighBond 或 Workflow 机器人)中,如有需要,可从这些位置单独删除。要了解更多信息,请参考 管理在机器人中存储的工作数据

首次自动删除旧任务运行

首次删除旧任务运行时,请务必谨慎操作。 如果您拥有大量旧任务运行,并且包含大量相关联的结果数据,那么尝试立刻删除所有内容可能会导致服务器出现问题。 请运用下述任一策略来批量删除旧任务运行。

找到旧任务运行的数量和日期范围

使用任务运行全局视图,找到旧任务运行的数量和日期范围。 在决定使用哪些值作为删除脚本的输入参数时,使用这些信息。

任务运行全局视图中:

  • 触发时间过滤器更新为适当的时间长度。 此过滤器最初默认设置为最近 10 天,对于您的需求来说,创建的这个日期范围可能太短。

  • 使用机器人名称过滤器或任务名称过滤器,单独筛选出目标机器人或目标任务的任务运行。 按状态划分的任务运行面板会显示机器人或任务的任务运行总数。

  • 任务运行表中,对完成时间列进行排序,以便最早运行的任务显示在顶部。

有关详细信息,请参阅查看机器人任务和任务运行

手动运行删除任务

起初不安排删除任务。 手动配置并运行任务,以批量删除旧任务运行。 手动批量删除任务运行让您能够将删除进程分解为多个较短的持续时间段。 删除大量积压的旧任务运行后,则可以安排自动运行删除任务。

删除任务运行时,每次间隔一个月

如果要根据日期删除旧任务运行,请确定最早的任务运行日期,然后配置删除日期(也就是最早日期后一个月)。 手动重复运行删除任务,每次将删除日期提前一个月。 如果一个月删除一次任务运行相对较快,则可以尝试按每三个月或六个月的频率来删除任务运行。

删除任务运行时,每次减少 50 或 100 次运行

如果要根据运行次数删除旧任务运行,请确定任务运行总数,然后配置最大任务运行次数,每次比总数减少 50 或 100 次。 手动重复运行删除任务,每次将最大运行次数减少 50 或 100 次。 如果每次减少 50 或 100 次任务运行相对较快,则可以尝试按更大间隔数来删除任务运行。

删除任务运行时,每次删除一项任务

如果拥有一个或多个包含多个任务的机器人,请在删除任务运行时每次删除一项任务,而不是一次性删除整个机器人。

设置删除脚本

请按照下述流程设置删除脚本,自动删除旧任务运行:

  1. 下载一个或多个删除脚本

  2. 创建删除机器人

  3. 在删除机器人中创建并安排删除任务

删除任务所在的位置

您可以在生产模式或开发模式下创建删除任务。 删除脚本可跨越两种模式的边界发挥作用,因此,您可以选择在适合的模式下查找删除任务和脚本。

如果要在生产模式下创建删除任务,则必须首先将删除脚本从开发模式激活到生产模式。 有关详细信息,请参阅激活脚本版本

其中两个删除脚本会从生产模式和开发模式删除符合条件的任务运行:

  • HB 机器人 - 从 robot.json 中删除早于指定天数的作业

  • HB 机器人 - 保留源自 robot.json 的一些作业

第三个删除脚本会从目标任务所处的模式(生产模式或开发模式)删除符合条件的任务运行:

  • HB 机器人 - 从 task.json 中删除早于指定天数的作业

就第三个删除脚本来说,您无需在与目标任务相同的模式下查找删除任务。 但是,在与目标任务相同的模式下查找删除任务,这种做法更易于保持删除任务和目标任务的清晰有序。

查找机器人和任务唯一标识符

三个删除脚本全都需要目标机器人唯一标识符作为输入参数。 任务级删除脚本还需要目标任务的唯一标识符。 在机器人应用程序中,导航到目标机器人或任务,然后从浏览器地址栏的 URL 中检索唯一标识符。

说明

这些唯一标识符还会在机器人用户界面的机器人详细信息任务详细信息侧面板中显示。 侧面板中显示的机器人 ID任务 ID 都不是删除脚本所需的输入值。

机器人唯一标识符

机器人唯一标识符显示在 URL 路径中的 productiondevelopment 字样后面。 因此,在下面的两个示例中,机器人唯一标识符为 63034

https://vincicorp.robotics.highbond.com/production/63034/working-data
https://vincicorp.robotics.highbond.com/development/63034/task-runs

任务唯一标识符

任务唯一标识符显示在 URL 路径中的 tasks 字样后面。 因此,在下面的两个示例中,第一个示例的任务唯一标识符为 57275,第二个示例的任务唯一标识符为 54731

https://vincicorp.robotics.highbond.com/production/63034/tasks/57275
https://vincicorp.robotics.highbond.com/development/63034/tasks/54731

下载一个或多个删除脚本

请下载下述链接的一个或多个删除脚本。 选择最适合您需求的脚本。 您可以根据需要,使用不同的配置设置来创建多个删除脚本。

  1. 右键单击下面的任意链接,然后选择将链接另存为

    脚本链接 脚本描述

    HB 机器人 - 从 task.json 中删除早于指定天数的作业

    从任务中删除早于指定天数的任务运行(作业)。

    从目标任务所处的模式(生产模式或开发模式)删除符合条件的任务运行。

    HB 机器人 - 从 robot.json 中删除早于指定天数的作业

    从机器人的所有任务中删除早于指定天数的任务运行(作业)。

    从生产模式和开发模式删除符合条件的任务运行。

    HB 机器人 - 保留源自 robot.json 的一些作业

    从机器人的所有任务中删除大于指定运行次数的任务运行(作业)。 从日期最早的任务运行开始。

    从生产模式和开发模式删除符合条件的任务运行。

  2. 将删除脚本保存到计算机上的下载文件夹或其他文件夹中。

    删除脚本的下载格式是 JSON 文件 (*.json)。

创建删除机器人

按照创建 HighBond 机器人的标准流程操作,然后将单个删除脚本从计算机上传到机器人。 为您想要使用的每个附加删除脚本分别创建附加 HighBond 机器人。

提示

您可以在单个删除机器人中创建多个删除任务,以针对不同的目标机器人或不同的目标任务运行相同的删除脚本。

创建机器人

  1. 从启动面板主页 (www.highbond.com) 选择机器人应用程序以将其打开。

    如果您已经进入 Diligent One,可以使用左侧导航菜单切换到机器人应用程序。

  2. 从机器人的仪表盘中,选择 HighBond 机器人选项卡。
  3. 如果要在文件夹中创建机器人,请单击文件夹将其打开。

    有关创建文件夹的信息,请参阅创建和管理机器人文件夹

  4. 单击创建 HighBond 机器人
  5. 选择一个图标,并为机器人输入一个名称。

    提示

    可以使用图标将机器人组织成易于识别的组。

    说明

    请勿在机器人名称中的任何位置使用货币符号,例如:$

  6. 可选。 在描述字段中,描述机器人,以便其他用户了解此机器人的功能。
  7. 单击创建 HighBond 机器人

    机器人脚本编辑器开始启动过程。

    说明

    如果出现无法创建机器人消息,则需要为机器人指定不同的名称。同名机器人已存在。

    如果您不是对现有机器人拥有权限的协作者,则看不到该现有机器人。

  8. 在脚本编辑器的左上角,单击机器人名称,然后单击不提交

    您将进入开发模式下的新建机器人的脚本版本选项卡。

上传删除脚本

  1. 在新建机器人的脚本版本选项卡上,单击上传

  2. 在显示的对话框中,从您的计算机上选择一个删除脚本,或将其拖放到已上传的脚本区域。

    每个删除脚本包含在 JSON 文件 (*.json) 中。

  3. 键入一个提交消息,然后单击上传并提交

    脚本会作为最新版本添加到脚本版本选项卡。 会显示一则通知,确认脚本已成功提交。

    如果上传并提交流程失败,也会显示一则通知。 请重新尝试上传。 如果重新上传失败,则请尝试下载删除脚本的新副本,然后上传这个新副本。

在删除机器人中创建并安排删除任务

按照创建和安排机器人任务的标准流程操作。 您可以在生产模式或开发模式下创建删除任务。 有关详细信息,请参阅删除任务所在的位置

说明

创建删除任务时,您需要指定 HighBond 访问令牌作为删除脚本的一个参数。 要删除任务运行,必须为与令牌关联的 Diligent One 用户账户分配目标机器人的所有者或编辑者角色。

有关详细信息,请参阅创建和管理 HighBond 访问令牌机器人应用程序权限

选择删除任务所处的模式

使用删除机器人右上角的生产开发按钮,切换到您想要使用的模式。

如果要在生产模式下创建删除任务,则必须首先将删除脚本从开发模式激活到生产模式。 有关详细信息,请参阅激活脚本版本

创建任务并选择删除脚本

  1. 任务选项卡上,单击创建任务

    任务设计器打开,您可以开始配置任务设置。

  2. 输入任务的名称,然后单击保存
  3. 选择脚本页面中,选择全选

    选中删除脚本。

输入脚本参数值和 HighBond 访问令牌

注意

仔细检查您输入的脚本参数值是否准确。 如果输入的机器人或任务标识符不正确,则可能会无意中从错误的位置删除任务运行数据。 如果输入的天数或任务运行次数不正确,则可能会无意中删除当前数据。

如果输入的天数或任务运行次数是 0,则会删除目标机器人或目标任务中的所有任务运行数据。

  1. 单击向下箭头 可展开参数部分,然后输入脚本值。
  2. 如果您希望允许其他用户运行、禁用或启用删除任务,则请单击共享密码
    • 启用共享密码 可以访问机器人的任何用户都可以运行、禁用或启用任务
    • 关闭共享密码 只有您可以运行、禁用或启用任务

    无论是何设置,其他有权访问机器人的用户均可编辑任务以输入自己的 HighBond 访问令牌。

    有关详细信息,请参阅带密码的脚本

  3. 在页面的底部,单击继续

计划任务

  1. 在页面顶部,选择按计划完成任务
  2. 指定计划详细信息:
    • 频率 重复执行任务的时间间隔
    • 开始时间 一天中开始运行任务的时间,以及要使用的时区

      除非您想让开始时间代表另一个不同的时区,否则请使用您自己的时区。

    • 开始日期 开始运行任务的日期
  3. 在页面的底部,单击继续

任务未运行时通知用户

  1. 选择发送失败通知,以便在任务未运行时通知一个或多个特定用户。

    启用后,当任务出于以下任何一种原因而未运行时,自动向用户发送通知:

    • 任务中的脚本运行失败

    • 任务被跳过

    • 任务被手动取消

  2. 单击列表中的一个或多个用户,选择要发送通知的用户。

    只有具有机器人足够权限的用户才能选择。

  3. 在页面的底部,单击继续

审核设置并确定任务

  1. 查看为任务配置的设置。
  2. 可选。 要更新设置,请单击并进行所需的更改。
  3. 如果对任务配置设置满意,请单击确认并创建任务

    结果 使用您指定的设置创建了任务。任务会在第一次计划日期到来时开始运行。