【できるUiPath】は注目のRPAサービス「UiPath」を使って、RPAのワークフローを作るための基本操作から、実際に業務をRPA化する実践テクニックまでを解説する連載です。
過去の記事一覧【できるUiPathまとめ】
リトライスコープ
失敗する可能性がある処理を実行するには
ワークフローは、いつも正常に動作するとは限りません。例外が発生した場合でも処理を続けることができるようにしてみましょう。
[リトライスコープ]で例外発生時に処理をやり直す
想定できないエラーや実行環境に依存するトラブルなどで、ワークフローが止まってしまう可能性があるときは、[リトライスコープ]アクティビティを使って、例外が発生しても処理をやり直せるようにしておきます。
[リトライスコープ]
例外が発生したときや指定した条件を満たさなかったときに、このアクティビティで囲まれた処理が繰り返し実行されます。
回数や間隔を指定できる
リトライは、標準では5秒おきに3回実行されますが、プロパティパネルから、回数や間隔を調整できます。
HINTリトライのベストプラクティス
例外対策は重要ですが、ワークフロー内に潜む「失敗する可能性」をすべて想定するのは現実的ではありません。個別の対処に追われ、ワークフロー内が[リトライスコープ]だらけになることも想定できます。
このため、Citrix環境(仮想マシン)など、どこで失敗するか想定しにくい処理の場合は、処理全体を[リトライスコープ]で囲み、どこかで失敗した場合は、アプリケーション自体を起動し直して、はじめから処理をやり直すような使い方をするといいでしょう。
HINTファイルのコピーで動作を確認
ここでは、[ファイルをコピー]を使って、ローカルのExcelファイルをネットワーク上の共有フォルダーにコピーする処理を実行させます。ネットワークに接続されている場合と、ネットワークから切断している場合で、処理がどう変わるのかを確認しましょう。
1[ファイルをコピー]を追加する
2元ファイルのパスとコピーの保存先を設定する
3エラーメッセージを確認する
HINT共有フォルダーを指定するには
[ファイルをコピー]で、元ファイルや保存先にネットワーク上の共有フォルダーを指定したいときは、「\\サーバー名\共有名」の形式で指定します。
HINT回数や間隔は処理に合わせて設定しよう
[リトライスコープ]での処理は、標準では5秒おきに3回繰り返されますが、処理によっては間隔が短すぎたり、回数が適切でないこともあります。
ここで設定したネットワークのトラブルが想定される場合などは、最初の失敗から5秒後に2回目の処理を繰り返しても、その間に接続が回復しているとは限らないため、ある程度、間隔を長く設定しておく必要があります。
このように、処理に合わせて、間隔や回数を調整することが重要です。
4[リトライスコープ]を追加する
5[ファイルをコピー]が移動した
6設定を変更する
HINT繰り返しても成功しなかったときは例外となる
[リトライスコープ]で指定された回数、処理が繰り返されても、結局、処理が成功しなかったときは、例外が発生します。例外となった場合に、処理を継続するのか、それとも止めるのか、継続する場合はどこから継続するのかは、プロパティパネルの[エラー発生時に実行を継続]の設定によって決まります。
- [リトライスコープ]そのものを「True」に設定
- [リトライスコープ]内の特定の処理を「True」に設定
例外が発生すると、[リトライスコープ]の中にある処理はその場で中断され、[リトライスコープ]の次にあるアクティビティが実行される
[リトライスコープ]内の次の処理が実行され、さらに[リトライスコープ]の次に配置された処理も実行される
HINT条件を指定するには
このレッスンの手順では、処理がタイムアウトする状況を例外として判断させていますが、[条件]の部分を指定することで、特定の条件を満たしたときに繰り返しを停止させることもできます。
例えば、Webアプリで、入力が確定したときに表示される画面の情報(特定の画像や発行された採番)が検出できないときに、処理を繰り返させることなどができます。
なお、条件に指定できるアクティビティは、[コレクション内での有無][OCRでテキストの有無を確認][要素の有無を検出][画像の有無を確認][テキストの有無を確認]などです。
1Excelファイルを準備する
2[Excelアプリケーションスコープ]を追加する
3[リトライスコープ]を追加する
4[ホットキーを押下]を追加する
5[OCRでテキストの有無を確認]を追加する
Point止まりにくいワークフローを作ろう
ワークフローの実行時に、何らかの例外が発生することは、決して珍しいことではありません。ここで取り上げたネットワークの混雑など、偶発的な例外によって、ワークフローがたびたび止まってしまうのでは安定した運用は望めないでしょう。
そこで活用したいのが[リトライスコープ]です。処理を繰り返させることで、止まりにくくなる工夫をしておきましょう。
提供:UiPath