哪里是存储需要经常在ServiceNow中更新的应用程序设置的最佳位置

时间:2019-06-28 14:11:11

标签: servicenow

我有一个计划的脚本执行,需要在两次运行之间保留一个值。每次运行都会更新。直到我遇到这个问题,使用gs.setProperty似乎是很自然的地方:

  

设置系统属性(sys_properties)时应注意   使用此方法,因为它会导致系统范围的缓存刷新。每次冲洗   重建缓存时可能会导致系统降级。如果必须   经常更新,因此不应将其存储为系统属性。在   通常,只应将值放在sys_properties表中,   不要经常更改。

创建一个单独的表来存储单个标量值似乎有点过头了。有没有更好的存储空间?

1 个答案:

答案 0 :(得分:1)

如果实例中需要使用首选项,则可以设置。另一个地方可能是事件表。将事件与数据一起记录在parm1或parm2中,并在下次运行时查询最新事件。

我会避免制作一张桌子,因为这会对某些客户产生成本影响。我同意sys_properties

var encrypter = new GlideEncrypter();
var encrypted = encrypter.encrypt('Super Secret Phrase');
gs.info('encrypted: ' + encrypted);
var decrypted = encrypter.decrypt(encrypted);
gs.info('decrypted: ' + decrypted);
/**
*** Script: encrypted: g/bXLJHa7xNRMKZEo5q/YtLMEdse36ED
*** Script: decrypted: Super Secret Phrase
*/

这样,只有管理员才能真正读取此数据。同样,如果我没记错的话,7天后会清除sysevent表。您可以让作业在事件存储在内存中后立即将其删除。