本資料は
UiPath OrchestratorのTIPS集。障害の通知、ジョブの保留についてご紹介
の超要約資料です。きになるところは本編をご確認ください。
要約
-
ロボットの使用不可能状態やワークフローの異常終了について「OC画面上のダイアログやアラート一覧画面」「ユーザに紐付いたアドレスでアラートメールを受信すること」で、それらの検知ができます。
-
またジョブの投入について、稼働するロボットを動的に割り当てる機能によってロボットが空いていないときにもジョブの投入をすることができます。
-
ロボットを指定して手動でワークフローを実行したいとき、そのロボットですでに同じワークフローがジョブ登録されている場合は「すでに保留中ジョブが存在する」となってジョブの投入ができないのでご注意ください。
-
スケジュール実行について、そのロボットですでに同じワークフローがジョブ登録されている場合は「すでに保留中ジョブが存在する」となって、エラーとして処理(アラート通知)されるのでご注意ください。
ジョブ実行中に、ワークフローが異常終了したばあい
「Attendedロボについて、ユーザがタスクトレイからワークフローを実行」 したり 「Unattendedロボについて、OC画面からジョブ実行」 したときに、そのワークフローが異常終了した場合
このような異常終了するワークフローを実行した場合、基本的にはロボット自体の障害検知と同様、
- OC画面上での「xxx の # ジョブは # ロボット xxx で失敗しました。」などの通知ダイアログ。またアラート画面による一覧表示
- 定期的なメールによる通知
によって障害が通知されます。
ジョブの保留とは
Orchestratorには実行待ちのジョブは保留にしておいて、空きができしだい順次実行するという機構があります。
ジョブが「保留中」状態とは、ロボットがワークフローを実行中、もしくはワークフローの実行が不可能な状態のときに、ロボットがワークフローを実行可能になるまで待っているという状態です。
またジョブの実行には、
- ジョブ作成時にロボットを直接指定する「(ロボットグループ内の)特定のロボット」
- 実行時に空いているロボットをOCが選んで実行する「(ロボットグループ内の)いずれかに動的に割り当てる」
という2つの方法があります。
「動的に割り当てる」方法は、ロボットグループに複数台のロボットが登録されているとして、稼働できるいずれかのロボットで順次ワークフローを処理します。
特定のロボット、の制約:
「あるロボットについて同じワークフローはひとつしか保留中にできない」
ロボット上であるワークフローが保留中になっていると、そのロボットに同じワークフローをさらに投入しようとすると「既に保留中がある」というエラーが発生して、投入ができないようになっています。
→ その場合は「動的に割り当てる」を利用してください。
スケジューラがジョブを作成しようとしたとき、ロボットに空きがない場合の注意
スケジューラが同じジョブを連続で投入すると、ロボットが実行不可の状態のとき、1つめは保留中として投入されますが、次以降のジョブは「ロボットには既にこのプロセスに対する保留中のジョブがあります」エラーとなり、アラート通知されます。
「あるロボットについて、同じワークフローはひとつしか保留中にできない」の制約で動いているので、別のワークフローのジョブを投入することは問題なく可能です。
ロボットたちが実行不可能状態のまま復旧せず、ジョブが保留される場合の注意
ロボットがワークフローの実行が不可能な状態 (トレイから「切断」を押していたり、ネットワークが切れて無応答状態など) の場合でも、ジョブの投入は可能です(スケジュールからの投入時も同様)。そのときはジョブの状態が「保留中」となるのですが、ロボットが復旧しない限り、ずっと保留中のままとなってしまいます。保留中のばあいは障害の通知も来ませんので、ご注意ください。