fbpx
■サイト内検索:
 

RPA Biz > RPA > 【UiPathのQueue(キュー)とTransaction(トランザクション)について No.2】

【UiPathのQueue(キュー)とTransaction(トランザクション)について No.2】

2019.04.15

前回は、Queue(キュー)Transaction(トランザクション)を使用するにあたり、UiPath Orchestratorの登録方法をご説明しました。

Orchestratorの登録がまだの方は、【UiPath OrchestratorQueue(キュー)Transaction(トランザクション)について】を参考に登録してみてください。

 

今回の記事では、Orchestrator Queue(キュー)Transaction(トランザクション)についてご紹介いたします。

 

はじめに…

使用するデータ型

 トランザクションアイテム:QueueItem

 トランザクションアイテムデータ:

例)String型の中身を取り出す場合は…

“トランザクションアイテムの変数名.SpecificContent(“カラム名”).ToString

 

 

実際にQueue(キュー)を使って値を格納・トランザクションアイテムの取得に挑戦!!

 

  • ①UiPath Orchestratorで新規のキューを作成

 

まず始めに、データを収納する場所である“キュー”をWebUiPath Orchestrator)上で作成し、そのキューの名前を使って、ロボットがキューにアイテムを収納していきます。

UiPath Orchestrator > キュー > 追加

 

図1

 

キュー新規作成後(Orchestrator > キュー)↓

 

図2

 

キュー新規作成後(Orchestrator > キュー > トランザクション)↓

 

図3

 

  •  UiPath Studioでキューにデータを追加(AddQueueItem)

 

キューに追加したいDataTableForEachRowアクティビティで、各行ごとに繰り返し、一行ずつキューアイテムとしてキューに格納する。

 

図4

 

今回は、デスクトップ上にあるfruitsTable.xlsxファイルを読み込んで、キューに追加↓

 

図5

 

アクティビティ > 使用可能 > Orchestrator > キュー > キューにアイテムを追加

 

図6

 

 -プロパティ-

キュー名:①で作成した新規キューの名前

 アイテム情報:各行の格納したい列を値として指定。

                     名前:Orchestratorに表示されるカラム名

                        方向:キューに対して値を入力するため“入力”

                        型:値のデータ型

                        値:キューに格納する値

 

  •  ③トランザクションアイテムを取得(GetQueueItem)

 

キューに追加したトランザクションアイテムを取得する。

取得したトランザクションアイテムのステータスは、“実行中”となる。

 

<取得されるアイテムの順番>

このアクティビティで取得できるトランザクションアイテムは、未処理のアイテムのみ。未処理のアイテムが複数ある場合は、追加された順に取得される。

 

アクティビティ > 使用可能 > Orchestrator > キュー > トランザクションアイテムを取得

 

図7

 

 -プロパティ-

キュー名:取得したい(Orchestratorで設定されている)キューの名前

 トランザクションアイテム:QueueItem型の変数

 

  •  ④トランザクションアイテムを取得できたか否かで条件分岐

 

分岐の条件として、トランザクションアイテムをキューから取得できたか否かを判断する。

取得できなかった場合→処理終了

取得できた場合→⑤へ

 例)“③で取得したトランザクションアイテムの変数 Is Nothing

 

図8

 

  •  ⑤取得したデータをコレクションに追加

 

アクティビティ > 使用可能 > プログラミング > コレクション > コレクションに追 

 

図9

 

 -プロパティ-

TypeArgumentQueueItem

コレクション:QueueItem型のリスト変数(あらかじめ作成しておく)

項目:③で取得したトランザクションアイテムの変数

 

 ※コレクションに追加したアイテムは、“ForEach”アクティビティで取り出しが可能。

  今回は、コレクション内のアイテムをExcelファイルに出力。

 

図10

 

 -プロパティ-

TypeArgumentQueueItem

コレクション値:QueueItem型のリスト変数

 

  •  トランザクションのステータスを設定(SetTransactionStatus)

 

アクティビティ > 使用可能 > Orchestrator > キュー > トランザクションのステータスを設定

 

図11

 

 -プロパティ-

ステータス:トランザクションアイテムのステータスを指定(成功/失敗)

トランザクションアイテム:③で取得したトランザクションアイテムの変数

 

  ※トランザクションのステータスは、“成功”と“失敗”の設定のみですが、“実行中”のアイテムに限り、“進捗”は独自で設定することができます。例)“遅れ気味”

   ステータスを“成功”に変更した場合、実行が完了したという認識となり、設定した進捗は画面から消えます。

 

図12

 

  •  ⑦ ③に戻り、繰り返す

 

シナリオ実行中のキュー画面(Orchestrator > キュー)↓

 

図13

 

シナリオ完了後のキュー(Orchestrator > キュー)↓

 

図14

 

シナリオ完了後のトランザクション画面(Orchestrator > キュー > トランザクション)↓

 

図15

 

トランザクションの詳細表示画面

Orchestrator > キュー > トランザクション > 詳細を表示)↓

 

図16

 

これで、キュー内のトランザクションアイテムがすべて処理できました。

今回作成したシナリオを載せておくので、参考にしてみてください。

 

 図17

 

まとめ

 

今回は、キューとトランザクションについて、どのようなデータが収納することが可能で、どのようなデータ型でアイテムが取得出来るのか、シナリオの書き方も含めご紹介させていただきました。

記載したシナリオは、取得したトランザクションアイテムのリストデータを、Excelに書き込むという単純な処理です。

そのため、ロボット2台で並行処理した場合と、ロボット1台で処理した場合の処理時間は、あまり変わりませんでしたが、処理が沢山ある場合、または処理するデータが多い場合は、処理時間が大幅に削減することができるため、とても便利な機能と言えます。

まだキューとトランザクションに触れていない方は、是非試してみてください。

topへ
© RPA.biz