4

我有一个需要在事件更新之前运行的业务规则。问题是这个脚本需要从“脚本包含”中触发一个很慢的函数。我希望这个调用是异步的,以便可以加载表单。

有没有办法做到这一点?

4

2 回答 2

4

我假设您已经了解异步业务规则,并且这些规则对您不起作用,因为您还需要同步执行某些操作。

您可以使用GlideRunScriptJobfrom script 在后台线程上执行脚本。如果您已经有一个脚本,您只需将其作为字符串传递给scheduleScriptGlideRunScriptJob 上的方法,如下所示:

var job = new GlideRunScriptJob();
job.scheduleScript("new CustomScriptInclude().foo()");
于 2014-11-01T00:15:31.140 回答
2

您也可以使用事件和脚本操作来执行此操作。因此,在业务规则中,您生成事件并将脚本操作附加到该事件。然后在处理事件时运行脚本。

如果你想在未来运行它,你可以使用 gs.eventQueueScheduled 函数来安排事件在未来某个时间被触发:

gs.eventQueueScheduled(event.name, current, parameter1, parameter2, data and time to run the event);

于 2014-11-21T14:27:34.757 回答