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

队列项目保留策略

概述

处理队列项目会生成大量事务,这些事务可能会迅速占用您的 Orchestrator 数据库。保留策略可帮助您有组织地释放数据库。

什么是保留策略?这是一项确保内置数据卸载功能的协议,方法是设置操作以在一段时间后从数据库中删除数据。 会发生什么? 由于数据库更轻,Cloud Orchestrator 的性能会更好。

队列项目条件

对于指定队列,您配置的保留策略适用于同时满足以下条件的所有队列项目:

  • 对于已完成的队列项目:
    • 它们具有最终状态:失败成功已放弃、 已重试已删除
    • 已超过 X 天内未修改,X 为保留期限。
  • 对于未完成的队列项目:
    • 状态为“新”
    • 已超过 X 天内未修改,X 为保留期限。

已推迟的队列项目

正在进行但已推迟的队列项目的保留期限计算方式如下:推迟日期前的天数 + 为保留期限配置的天数。

示例

  • 您为队列 A 设置了保留期限为 30 天的删除操作。
  • 属于队列 A 的队列项目 B 将推迟 10 天。

队列项目 B 系统将在 40 天后删除。

Suspended jobs

在作业变为已完成状态之前,或者在将其删除或存档之前,自定义保留策略不会应用于链接到已暂停作业的队列项目。

示例

  • 您为队列 A 设置了保留期限为 30 天的删除操作。
  • 队列 A 已链接到作业 B,但该作业已暂停。
  • 作业 B 会重新启用,并在为队列 A 设置保留期限后 10 天内完成。

属于队列 A 的队列项目将在 40 天后删除。

确定上次修改队列项目的时间

队列项目验证算法搜索所有队列,并按以下顺序根据四个属性确定哪些队列项目满足条件:

  • 1 - 上次修改时间
  • 2 - 结束处理时间
  • 3 - 开始处理时间
  • 4 - 创建时间

如果队列项目没有“上次修改时间”值 (1),或者该值为 null,则算法将查看“结束处理时间”值 (2)。如果“结束处理时间”值为 null,则算法将查看“开始处理时间”值 (3)。如果“开始处理时间”值为 null,则算法将查看“创建时间”值 (4),并根据找到的第一个非 null 值应用策略。

确定删除队列项目的时间

保留期是按照日历天数计算而得。因此,符合条件的队列项目将在 X+1 个日历日删除,X 表示保留持续时间,+1 表示删除作业在下一个日历日执行。

请注意,作业可能会在时间刚进入下一个日历日时执行,因此与保留期限的结束时间只有几个小时的间隔。

例如,假设您将保留期限设置为 1 天:

如果队列项目的最后修改日期为 10-06-2022 00:01:00(日历日的第一分钟)或 10-06-23:59:00(日历日的最后一分钟),则它符合在 6 月 12 日(6 月 10 日 + 1 天保留期 + 1 天后 = 6 月 12 日)运行的删除作业的条件。

因此:

  • 我们会在下一个日历日存档您的队列项目数据,以确保至少将其保留 1 个日历日(保留期限),
  • 我们的目标是确保在下一个日历日结束之前存档您的项目。

策略类型

以下是保留策略的类型:

  • 新创建队列的默认策略 - 系统将在 30 天后删除新队列中的所有事务,且删除操作无法撤销。这是内置选项。
  • 自定义策略 - 在您选择的保留期限后,系统将删除或存档所有事务。 可以按照配置自定义保留策略部分中的说明配置此选项。
    • 已完成的队列项目:
      • 默认持续时间为 30 天。
      • 最长持续时间为 180 天。
    • 未完成的队列项目:
      • 默认持续时间为 180 天。
      • 最长持续时间为 540 天。
重要提示:默认保留策略适用于租户中的所有队列。

政策结果

自定义保留策略具有以下结果:

  • 它将删除早于指定持续时间的有效队列项目。
  • 这一类型会删除超过指定持续时间的有效队列项目,但会将其数据存档到现有存储桶中,以供后续参考。这样,您可以在不丢失信息的情况下卸载 Orchestrator 数据库。
  • 它会保留队列项目的唯一引用,以保证在应用策略后执行验证。
    注意:包含已删除队列项目信息的 Insights 仪表板会继续显示正确的数据。

“队列”页面

保留策略不会立即反映在“队列”页面上。

数据重新计算可由任意队列项目事件触发,例如“创建”、“编辑”、“删除”、“状态”或“重试”。已删除的队列项目不再包含在重新计算的列表中。

配置自定义保留策略

要配置自定义保留策略,请执行以下操作:

  1. 在 Orchestrator 中,导航到租户中的所需文件夹。
  2. 打开队列页面。
  3. 要添加新队列,请单击“添加队列”。要编辑现有队列,请为所需队列依次单击“更多操作”>“编辑”。“创建”/“更新队列”页面随即打开。
  4. 在“保留策略”部分中,从“操作”下拉菜单中选择策略的结果。

    您可以为已完成和未完成的队列项目设置不同的策略结果和保留持续时间。

    要删除队列项目,但保留其信息,请阅读存档队列项目部分中的步骤。

    要永久删除队列项目,请阅读“删除队列项目”部分中的步骤。

存档队列项目

如果您不想丢失队列项目数据,但需要从 Orchestrator 数据库中卸载此信息,请存档队列项目。

先决条件:您需要存储桶来存储已存档的队列项目。

  1. 从“操作”下拉菜单中选择“存档”
  2. 为已完成和未完成的队列项目选择“保留期限”。

    对于已完成的队列项目,您可以选择 1 到 180 之间的值,默认值为 30。

    对于未完成的队列项目,您可以选择 180 到 540 之间的值,默认值 180。

    在此持续时间结束时,将删除在此期间尚未更新的所有队列项目(包括队列项目事件和注释),并将其信息存储在目标存储桶中。

  3. 选择一个目标存储桶来存储存档项目。

要检索存档信息,请从关联的存储桶中访问存档文件。

备注:

注意 1:您可以使用 Orchestrator 存储桶,也可以链接外部存储桶。

注意 2:您使用的存储桶不得为只读存储桶,以便系统可通过存档操作向其中添加项目。

注意 3:您可以使用相同的存储桶存档来自不同队列的队列项目。

注意 4:此字段仅适用于“存档”选项。

注意 5:加密队列项目的特定数据和输出数据在存储桶中可见,因为存档操作会在检索时解密数据并将其导出到目标存储位置。

注意 6:系统会在“租户”>“审核”页面上记录成功的存档操作,并会通过“操作”类型将其识别为存档

注意 7:如果错误中断了存档操作,则会收到警示通知,以便修复错误。系统会在下次运行删除作业时(下一个日历日)重试存档操作。在成功重试存档之前,无法查看或访问受影响的队列项目。

存档结果

.zip 文件

存档队列项目时,系统会在保留期限结束时创建一个 .zip 文件,其路径为:

“Archive/Queues/Queue-{queue_key}/{archiving_operation_date}-{archiving_operation_timestamp}.zip”,其中各项含义如下:

  • {queue_key} - 包含队列项目的队列的唯一标识符
  • {archiving_operation_date} - 生成存档时的 UTC 日期,采用 yyyy-MM-dd 格式
  • {archiving_operation_timestamp} - 生成存档时的 UTC 时间,采用 HH-mm-ss-fff 格式
    例如,存档文件可以命名为 Archive/Queues/Queue-1d1ad84a-a06c-437e-974d-696ae66e47c2/2022-05-26-03-00-08-496.zip

.csv 文件

提取后,.zip 文件将显示具有相同名称语法的 .csv 文件:

“队列 -{queue_key}-{archiving_operation_date}-{archiving_operation_timestamp}.csv”。

.csv 文件包含有关已存档队列项目的以下信息:


Metadata.json 文件

.json 文件包含有关容器队列的详细信息,以帮助您更轻松地进行识别。

大数据量

对于处理大量事务的队列,系统将分批存档队列项目。在这种情况下,每个批处理的 .zip 文件具有不同的 {archiving-operation-timestamp},具体取决于批处理存档的创建时间。

删除队列项目

如果您判断经过处理的队列项目数据不再有用,则可以从 Orchestrator 数据库中删除所有这些信息。

  1. 从“操作”下拉菜单中选择“删除”
  2. 为已完成和未完成的队列项目选择“保留期限”。

    对于已完成的队列项目,您可以选择 1 到 180 之间的值,默认值为 30。

    对于未完成的队列项目,您可以选择 180 到 540 之间的值,默认值 180。

    在此持续时间结束时,将永久删除在此期间尚未更新的所有队列项目(包括队列项目事件和注释)。

队列保留策略 API

要在客户端中合并保留策略,请在 Swagger 文件中使用队列保留 API 的专用端点:

  • GET /odata/QueueRetention - 返回所有活动策略的列表,其中包含策略操作、保留持续时间(以天为单位)、要应用策略的队列 ID 等信息。
  • GET /odata/QueueRetention({key}) - 返回有关指定队列的策略信息。
  • PUT /odata/QueueRetention({key}) - 更新有关指定队列的策略信息。
  • DELETE /odata/QueueRetention({key}) - 将指定的队列策略重置为默认值(保留 30 天后删除)。
注意:如果您为在引入保留策略功能之前创建的队列调用 DELETE 端点,则适用“30 天后删除”的内置保留策略。请参阅我们参考指南中的示例。

策略跟踪列和审核

要轻松识别哪些队列具有自定义保留策略,请从“列”下拉列表中选中相应的复选框,以启用“队列”页面上的“保留操作”和“保留期(天)”列。

“保留操作”列显示策略结果,而“保留期(天)”列显示策略应用之前的剩余时间。



如前所述,30 天保留策略适用于新创建的队列。但是,您不能总是依赖此值来识别具有默认策略的队列。例如,如果您将自定义保留期限设置为 55 天,然后将其更新为 30 天,则生成的策略不是默认策略。要查看这些场景是否代表默认策略,请查看审核页面。

1 表示“存档”操作类型

0 表示“删除”操作类型



此页面有帮助吗?

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