大量のイベントや処理に時間がかかるイベントを作成するアプリケーションには、カスタムキューを使用できます。このタスクでは、カスタムキューとその監視プロセスを作成し、スクリプトを使用してキューにイベントを送信する方法を示します。
始める前に
必要なロール:admin
注: この情報は、イベント処理を理解している上級ユーザーを対象としています。
手順
-
次のように移動する。 .
-
カスタムキューを作成するイベントを選択します。
[イベント登録] フォームが表示されます。
-
イベント登録でイベントの [キュー] フィールドに入力します。
小文字のみを使用し、アンダースコア (_) 以外の特殊文字は使用しないでください。
![小文字のキューの名前を含む [キュー] フィールドが強調表示されたイベント登録フォーム。](https://www.servicenow.com/docs/api/khub/maps/7UJIHAmPPn3P7mQR~zH2yg/resources/ieUOO4a0CR87wIPHyCqjGw-7UJIHAmPPn3P7mQR~zH2yg/content?v=6bd4ab73f52820ea)
-
[送信] をクリックします。
新しいイベントがイベント [sysevent] テーブルに一覧表示されます。
次の例では、employeeOccasion イベントが生成されると my_queue に追加されます。イベントはキューに留まります。この問題を解決するには、イベントのキューを監視するプロセスを作成します。
-
次のように移動する。 をクリックし、「 テキストインデックスイベントプロセス」という名前のスケジュール済みジョブを開きます。
-
[他のアクション] メニューアイコンをクリック (
) -- >して [Insert and Stay ] を選択し、 テキストインデックスイベントプロセスのコピーを作成します。
重要: かならずジョブをコピーし、[テキストインデックスイベントの処理] のスケジュール済みジョブを上書きしないようにしてください。
-
コピーしたスケジュールアイテムで、[名前] フィールドの値を変更します。
-
[ジョブコンテキスト] フィールドで、GlideEventManager() パラメーターの値を新しいキューの名前に置き換えます。
キュー監視プロセスは、サンプルの
my_queue イベントキューでイベントを検索して処理します。
![[処理済み] および [キュー] フィールドの内容を強調表示するイベントテーブル。](https://www.servicenow.com/docs/api/khub/maps/7UJIHAmPPn3P7mQR~zH2yg/resources/ibdXMbGA6HnM9HDRVv_y_w-7UJIHAmPPn3P7mQR~zH2yg/content?v=3711a78e38fc7de7)
-
gs.eventQueue() メソッドの 5 番目のパラメーターを使用して、カスタムキューにイベントを送信します。
次のコードは、my_queue カスタムキューにイベントを送信する方法を示しています。
gs.eventQueue('x_60157_employee_spe.employeeOccasion', todaysOccasions, todaysOccasions.number, todaysOccasions.u_employee.name, 'my_queue');
注: イベントが [イベント登録] にあり、キュー名が gs.eventQueue に指定されていない場合でも、[イベント登録] からのキューがイベントに割り当てられます。たとえば、gs.eventQueue('x_60157_employee_spe.employeeOccasion') は引き続きイベントを my_queue に関連付けます。gs.eventQueue() 呼び出しでキュー名が指定されている場合は、キューが優先されます。
[イベント] [sysevent] テーブルをチェックすることで、呼び出されたイベントが処理されたことを確認できます。
