如果您正在使用访问控制,则必须遇到自动记录权限字段(带有规则)在重新计算记录时不会自行更新的问题。您必须启动完全重新计算或等待相当长的时间才能进行更改。
我正面临这个问题,根据记录中的10个不同字段值,我必须分别对10个不同的组进行读/编辑访问。
例如:
我在自动RP字段中选择了“无最小值”和“无最大值”。
如何让自动记录权限字段尽快更新?我错过了一些重要的东西吗?
答案 0 :(得分:2)
如果您正在使用访问控制,则必须遇到此问题 自动记录权限字段(带有规则)没有 更新自己重新计算记录。你要么必须发射 完全重新计算或等待相当长的时间 发生了变化。
Tanveer,一般来说,这不是一个正确的陈述。您不应该在[a]精心设计的架构(应用程序之间的关系)和[b]应用程序中的正确计算顺序中面对此问题。
关于您描述的案例。我建议您检查并查看以下可能性:
<强> 1。计算顺序。
自动记录权限[此处的ARP]由Archer平台以与计算字段相同的方式处理。这意味着您可以修改保存记录时计算字段和自动记录权限将更新的计算顺序。
因此,您可能会在规则中使用的某些计算字段之前计算ARP字段。 ARP。例如,假设您在ARP字段中有两个规则:
如果A> 0,则组AAA
如果B> 0则然后组合BBB
现在,如果计算顺序如下,则会出现问题:
“ARP”,“A”,“B”
单击“保存”或“应用”后,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服务器以处理重新计算作业(如果它们未在某些点上使用)。添加更多职位空间。
Tanveer,我希望这会有所帮助。祝你好运!