はじめに
この投稿は、RPAツール「UiPath」の REFramework についての記事です。
UiPath Adventカレンダーの 20日目 の記事でもあります。
REFrameworkとは
REFrameworkはUiPath社が提供している、ロボット実装のフレームワーク(テンプレート)で「大規模処理のベストプラクティス」と言われ「Orchestratorを使用したキュー分散型処理」になっています。
2018年に公開された後、あまり更新がありませんでした。
そのREFrameworkですが、つい先日(2021年11月)「Studio 21.10」に付属する内容で更新されたので、その最新の機能と改善点を紹介します。
ちなみに、呼び方は「[アールイー]フレームワーク」「[リ]フレームワーク」の2派があります(どっちでも良いけど)
<ReframeWorkの更新についての情報>
更新内容は以下の通りです。
# 1)Orchestratorキューフォルダー名の指定
# 2)Process.xamlを「Framework」フォルダーに移動
# 3)強制終了時に成功ステータスになるバグの解消
# 4)最大連続再試行回数の追加
# 5)画像解像度のログ記録
# 6)ワークフローアナライザーのルールに準拠
# 7)指定アセットなしの場合、初期処理でエラー終了
# 8)TestSuite用の新しい機能追加
# 9)説明PDFの更新
順番に紹介していきます。
1)Orchestratorキューフォルダー名の指定
モダンフォルダに対応するため「Orchestratorキューのフォルダー名」を指定できるようになりました。「設定ファイル」または「Main.xamlの入力引数」として指定ができます。
2)Process.xamlを「Framework」フォルダーに移動
もともと「ルート」フォルダにあった「Process.xaml」ですが、今回の変更で「Framework」フォルダーに移動になりました。
従来のREFramework | 新しいREFramework |
---|---|
3)強制終了時に成功ステータスになるバグの解消
プロセスが強制終了された場合に キューアイテムが「成功」ステータスに設定されてしまう問題が修正されました。
Finallyブロックから「SetTransactionStatus.xaml」の呼び出しが削除され、外側のTry Catchの例外処理の中で、例外の種類(システム例外またはビジネスルール例外)ごとに処理されます。
従来のREFramework | 新しいREFramework |
---|---|
4)最大連続再試行回数の追加
キュー処理はエラーが起きても、設定した「最大リトライ数」の回数だけリトライされますが、処理の中には「リトライしても絶対にエラーになる」ものもあります。
その場合、何度リトライしても無駄なので「連続して何度も失敗する場合」は諦めて処理中断するように「最大連続再試行回数」が追加されました。
「ConsecutiveSystemExceptions」という名前のグローバル変数と「MaxConsecutiveSystemExceptions」という名前のconfigの定数値があります。
Configのブール値「ShouldMarkJobAsFaulted」をTrueに設定すると、最大連続再試行回数に達した場合、ジョブは失敗(失敗)としてマークされます。(デフォルトでは、Falseに設定されています)。
5)画像解像度のログ記録
「Init」セクションで「画面解像度」がログに記録さえれるようになりました。
本番マシンが想定していない解像度になっていて、操作対象の要素が見切れてしまうなどでエラーが起きた場合に、ログから解像度を確認することが出来ます。
6)ワークフローアナライザーのルールに準拠
ワークフローアナライザーは REFramework より後に追加された機能なので、実行するとエラーが大量に出ていましたが、ワークフローアナライザのデフォルトルールに準拠するようにプロジェクト全体が改善されました。
<従来のREFrameworkでワークフローアナライザでチェックした結果>
7)指定アセットなしの場合、初期処理でエラー終了
従来のREFrameworkは、設定ファイルのアセットシートで宣言された値が Orchestrator に登録されていない場合、初期処理の中で「警告レベル」でログメッセージが出力されていましたが、実行処理に入ると結局エラーになってしまうという悲しい状態でした。今回、その「アセットなしの処理」が修正され、初期処理の時点でエラーになり、例外をスローするようになりました。
8)TestSuite用の新しい機能追加
TestSuiteの新機能を使用する新しいテストフレームワークが追加されました。REFrameworkフォルダーには、フレームワークのワークフローに関連するいくつかのテストケースを含む「Test」というフォルダーがあります。
9)説明PDFの更新
Documentation フォルダの説明PDFが、今回の修正に合わせて更新されています。
終わりに
以上、REFrameworkのアップデート内容の紹介でした。
この記事が参考になったら、 LGTMをお願いします。閲覧ありがとうございました。