2014-10-30 158 views
3

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

有没有办法做到这一点?

回答

4

我假设你已经知道async business rules,并且那些不适合你,因为你需要同时做一些事情。

您可以使用脚本中的GlideRunScriptJob在后台线程上执行脚本。如果你已经有一个脚本,你只是把它作为一个字符串scheduleScript方法上GlideRunScriptJob像这样:

var job = new GlideRunScriptJob(); 
job.scheduleScript("new CustomScriptInclude().foo()"); 
2

你也可以做到这一点使用的事件和脚本操作。因此,在业务规则中,您生成事件并将脚本操作附加到该事件。该脚本将在事件处理完成后运行。

如果你想在将来运行它,你可以使用gs.eventQueueScheduled功能来安排事件被触发在未来的一段时间:

gs.eventQueueScheduled(event.name,电流,参数1,参数,数据和时间来运行事件);