Orchestrator
2023.4
False
横幅背景图像
Orchestrator 用户指南
上次更新日期 2024年5月20日

队列项目保留策略

概述

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

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

队列项目条件

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

  • 具有最终状态,例如失败成功已放弃重试已删除,以及
  • 上次修改时间为 X 天前,X 为保留期限。

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

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

  • 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 个日历日(保留期限),
  • 我们的目标是确保在下一个日历日结束之前存档您的项目。

策略类型

以下是保留策略的类型:

  • 新创建队列的默认策略 - 属于新队列一部分的所有事务都无限期保留在配置的数据库中。这是内置选项。
    重要提示:

    强烈建议您存档或删除队列项目。这样可以防止数据库大小增加并导致性能下降。

  • 现有队列的默认策略 - 所有现有事务都无限保留在配置的数据库中。
  • 自定义策略 - 在您选择的保留期限(最长 180 天)后,系统将删除或存档所有事务,或者将所有事务无限期保留在配置的数据库中。可以按照配置自定义保留策略一节中的说明配置此选项。

重要提示:默认保留策略适用于租户中的所有队列。

政策结果

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

  • 它将有效的队列项目保留在配置的数据库中。

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

    注意:包含已删除队列项目信息的 Insights 仪表板会继续显示正确的数据。

“队列”页面

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

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

卸载机制

后台作业每天在您的服务器不忙时运行,并执行所有保留策略所需的操作。

最初,需要处理大量数据。为避免对运营性能产生任何影响,该作业可能需要大约一个月的时间来解析其数据积压并将其精准定位到各天。

因此,政策可能不会立即生效,但会在大约一个月后生效。

例如,假设您为队列配置了 45 天的删除策略。该策略在第 1 阶段结束时变为活动状态,但需要大约一个月的时间来保证删除所有 45 天前的队列项目。这是第一次出现异常,以便作业完成数据积压。

配置自定义保留策略

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

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

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

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

    要将队列项目无限期保留在数据库中,请阅读保留队列项目一节中的步骤。

存档队列项目

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

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

  1. 从“操作”下拉菜单中选择“存档”

  2. 选择“保留期限”。输入一个介于 1180 之间的值。默认值为 30。在此持续时间结束时,将删除在此期间尚未更新的所有最终状态队列项目(包括队列项目事件和注释),并将其信息存储在目标存储桶中。
  3. 选择一个目标存储桶来存储存档项目。

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

备注:

注释 1:您可以使用 Orchestrator 存储桶,也可以链接外部存储桶或计算机上的文件系统存储桶。

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

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

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

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

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

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

删除队列项目

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

  1. 从“操作”下拉菜单中选择“删除”

  2. 选择“保留期限”。输入一个介于 1180 之间的值。默认值为 30。在此持续时间结束时,将永久删除在此期间尚未更新的所有最终状态队列项目(包括队列项目事件和注释)。

保留队列项目

如果要无限期保留已处理的队列项目数据,请从“操作”下拉菜单中选择“保留”。

所有最终状态队列项目(包括队列项目事件和注释)都将无限期保留在配置的数据库中。

存档结果

.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},具体取决于批处理存档的创建时间。

队列保留策略 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 白色徽标
信任与安全
© 2005-2024 UiPath. All rights reserved.