如何使“自动记录权限”字段尽快更新自身



如果您正在使用访问控制,则一定遇到过"自动记录权限"字段(带有规则)在重新计算记录时不会自行更新的问题。您要么必须启动完全重新计算,要么等待相当长的时间才能进行更改。

面临着这个问题,根据记录中的 10 个不同的字段值,我必须分别向 10 个不同的组授予读取/编辑访问权限。

例如:

  • 如果规则 1 为 true,则向第一组用户授予编辑访问权限
  • 如果规则 1 和 2 为 true,则向用户。

我在"自动 RP"字段中选择了"无最小值"和"无最大值"。

如何使自动记录权限字段尽快更新?我在这里错过了一些重要的东西吗?

如果您正在使用访问控制,则必须遇到此问题 其中"自动记录权限"字段(带规则)没有 在重新计算记录时更新自身。你要么必须启动 完全重新计算或等待相当长的时间 要发生的更改。

坦维尔,总的来说,这不是一个正确的说法。您不应该在 [a] 设计良好的体系结构(应用程序之间的关系)和 [b] 应用程序中正确的计算顺序来面对此问题。

关于你描述的案例。我建议您检查并查看以下可能性:

1.计算顺序。
Archer 平台以与计算字段相同的方式处理自动记录权限 [此处的 ARP]。这意味着您可以修改保存记录时更新计算字段和自动记录权限的计算顺序。
因此,您的 ARP 字段可能会在 ARP 规则中使用的某些计算字段之前计算。例如,假设您在 ARP 字段中有两个规则:
   如果为 A>0,则分组 AAA
   如果 B>0 则格鲁布 BBB
现在,如果计算顺序如下,您将遇到问题:
   "ARP"、"A"、"B"
单击"保存"或"应用"后,ARP 不会更新,但在保存记录中单击"保存"或"应用"两次后,ARP 将更新。
使用计算顺序"A","B","ARP",您的ARP将立即重新计算。

2. 完整的重新计算队列。
由于 ARP 被视为计算字段,这意味着每次 ARP 需要更新时,都会在后端的应用程序服务器上创建重新计算作业。如果由于某种原因计算队列已满,则记录权限将不会立即更新。如果正在运行数据馈送,或者通过手动数据导入触发了大量重新计算,则作业引擎重新计算队列可能会已满。将创建与 ARP 更新相关的重新计算作业并将其添加到队列中。将根据为作业队列定义的优先级处理重新计算作业。您可以通过 Archer 控制面板界面在 Archer v5.5 中监控作业队列并更改默认作业的处理优先级。我建议您下次看到 ARP 重新计算延迟时检查作业队列状态。

3.重新计算
的"雪崩"设计应用程序之间的关系和安全继承非常重要,因此重新计算的影响最小。
例如,假设我们有"联系人"应用程序和"部门"应用程序。
- 联系人应用程序中的记录使用部门记录中的继承记录权限继承访问权限。
-部门记录具有自动记录权限,联系人记录继承它。-现在是最好的部分-部门D1有60 000个联系人记录链接到它
,部门D2有30 000个联系人记录链接到它。
您描述的问题在所描述的配置中是可重现的。我将转到部门记录 D1 并以部门记录中的 ARP 将强制重新计算的方式对其进行更新。这会将 60 000 个作业添加到作业引擎队列,以重新计算链接到 D1 记录的 60k 个联系人。现在,无需等待,我就转到 D2 并进行更改强制以重新计算此 D2 记录中的 ARP。保存记录 D2 后,将在作业引擎队列中创建用于重新计算 D2 和其他 30 000 个联系人记录的新作业。但是记录 D2 不会立即重新计算,因为第一组 60k 记录尚未重新计算,并且 D2 记录的重新计算仍在队列中。
不幸的是,目前还没有一个好的解决方案。但是,这是您可以执行的操作:
- 审查并尽量减少继承
- 查看并最小化 1 条记录引用 1000+ 条记录的记录之间的关系。
- 修改体系结构并中断继承和关系,并在可能的情况下将其替换为 Archer 到 Archer 数据馈送。
- 为您的应用程序服务器添加更多的"重新计算"功能。您可以将 Web 服务器配置为在未使用到某个点时处理重新计算作业。添加更多作业槽位。

坦维尔,我希望这有帮助。祝你好运!

最新更新