Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

イベントを順番に一定間隔を空けて実行させる方法・仕組み

th7
Tera Expert

ある特定のイベントがほぼ同時に呼び出されることがあるが、同時に実行されると問題がある為、

実行が重ならないよう、一定間隔を空けて実行させるようなServiceNowの仕組みはありますか?

仕組みが標準でなければ、いい方法・アイデアを教えてください。

5件の返信5

私に対するReplyだと思いますので回答いたします。

Eventが3つ同時に発生するケースが思い当たらないのですが、
Event自体の発火に時間制限をつけて、順番に処理させたいイベントの実行時間を処理すれば良いのではないでしょうか。
GlideSystemではeventQueueScheduledの関数が使えます。
すでに投入したEventを書き換えたい場合はGlideRecord等で直接Eventを変更するしかないかな?と思います。

https://developer.servicenow.com/dev.do#!/reference/api/quebec/server_legacy/c_GlideSystemAPI#GS-eventQueueScheduled_S_O_S_S_O?navFilter=glidesystem

ScriptActionでやっていることの概要や、なぜ10秒ごとの間隔を置かないといけないのかがわかるともう少し踏み込んだアドバイスができるかもしれません。