【UiPath】キューアイテム(トランザクション)のステータスを理解する

RPA(UiPath)
記事内に広告が含まれています。

uipathエンジニアのもぐらっとんです。

オーケストレーターのキューアイテムのステータスって分かりにくくないですか?

キューはREFrameworkで使うことが多いと思うのですが、その場合、REFrameworkが勝手にステータスを変更してくれてます。

そこで、

今回はあえてREFrameworkを使わず、自分でキューアイテムを操作して、ステータスの流れを確認してみようと思います。

認定試験でもステータスの流れは出てくるので、すごく良い勉強になるはずです。

サイト運営者
もぐらっとん

エンジニア歴15年。フリーランスになって3年目。
在宅で、RPA開発をメインにシステム構築やブログ運営などしています。
★UiPathオートメーションデベロッパー プロフェッショナル資格認定者

もぐらっとんをフォローする
RPA

まずはステータスの主な流れを理解しよう

まず最初にステータスの主な流れを簡単に書いておきます。
※失敗してもリトライするという設定がありますのでONにしておきます。

①新規→②処理中→③成功
①新規→②処理中→③失敗(ビジネス例外)
①新規→②処理中→③失敗(アプリケーション例外)→④リトライ済み→ ⑤新規(新しいアイテムが作成される)

①新規→②処理中→③破棄済み 

では今から実際に1つずつ確認してみましょう。

事前準備

オーケストレーターに「キュー」がない人は、まずは「キュー」を作りましょう。

今回は「test」という名前のキューを使って説明します。

キューを使うには、キューに「アイテム」を追加する必要があります。「キュー」が箱で「アイテム」が箱の中の物、というイメージです。

今このキューの中身は空っぽ、つまり「アイテム」は0件です。

※ここまで「アイテム」という言葉で表現してきましたが、ここからは「アイテム」ではなく「トランザクション」と呼ぶことがあります。↑の画面でも「トランザクション」と表現されています。「アイテム」=「トランザクション」と考えて大丈夫です。

①新規

では、キューに「アイテム」を追加してみましょう。

studioで「キューアイテムを追加(AddQueueItem)」アクティビティを作り実行します。
※アクティビティの詳細については、また別の記事で・・・

このアクティビティを実行すると、キューにアイテムが追加されます。

では、キューのトランザクションを見てみましょう。確かに1件追加されました。

ステータスは「新規」となっています。

②処理中

では、このトランザクションを取得してみます。

またstudioを使って「トランザクションアイテムを取得」アクティビティを実行します。

すると、ステータスが「処理中」になりました。

※他の似た名前の「キューアイテムを取得」アクティビティでは「処理中」にならないので注意

③成功

では、処理が終わり成功する場合を見てみましょう。

またstudioで、今度は「トランザクションのステータスを設定」アクティビティを使います。ステータスには成功を意味する「Successful」を指定します。

実行すると、ステータスが「成功」になりました。

ここまでで、「①新規→②処理中→③成功」という流れを確認できました。

③失敗(ビジネス例外)

では、つぎは失敗(ビジネス例外)の場合です。

ビジネス例外とは、システムエラーや想定外エラーのことです。予想していなかったエラーなので、キューにリトライの設定がされていてもリトライしてくれません。

今、ステータス「処理中」のトランザクションがあり、想定外エラーが起きたとします。

studioで「トランザクションのステータスを設定」アクティビティを使います。
・ステータス「Failed」
・エラーの種類「Business」

実行すると、ステータスが「失敗になりました。

ビジネス例外で失敗となったトランザクションは、もう使うことはできません。

これが①新規→②処理中→③失敗(ビジネス例外)という流れです。

③失敗(アプリケーション例外)→④リトライ済み→ ⑤新規

では、つぎは失敗(アプリケーション例外)の場合です。

アプリケーション例外とは、想定されるエラーのことです。必要なファイルがなかったり使用中だったり、予想できるエラーのことです。原因を改善すれば次は成功する可能性がありますよね。

キューにリトライの設定をしておけば、アプリケーション例外となったトランザクションは、自動で再実行できるような仕組みになっています。

では今、ステータス「処理中」のトランザクションがあり、アプリケーション例外が起きたとします。

studioで「トランザクションのステータスを設定」アクティビティを使います。
・ステータス「Failed」
・エラーの種類「Application」

実行すると、
・「処理中」から「リトライ済み」になり、
・新たに「新規」のトランザクションが追加
コピーして作成された
されました。

今回はキューのリトライ回数を「1」としたので、あと1回だけ「トランザクションを取得」で取得することができます。

これが①新規→②処理中→③失敗(アプリケーション例外)→④リトライ済み→ ⑤新規(新しいアイテムが作成される)という流れです。

③破棄済み 

ではいよいよこれで最後。「破棄済み 」となる場合です。

「処理中」のトランザクションがあるとします。これを長時間 (約 24 時間) ほったらかしにしておくと、「破棄済み」になります。

約1日たつと、勝手に終わらせてしまう、ということです。

まとめ

お疲れ様でした。今回はすごく長かったので疲れたと思います。

でも、これでステータスの流れが少しでも理解できたんじゃないかな、と思います。

ステータスの流れは、資格試験にも含まれる内容なので、覚えておいて損はなしです。

お疲れ様でした(^^)/

タイトルとURLをコピーしました