こんにちは!UiPath メンターです。
これまで皆さんは、「Excelを読み込んで、ループして、Webに入力する」というロボットを作ってきました。
これは「1人のロボットが最初から最後まで全部やる」スタイルです。
しかし、もし処理すべきデータが10,000件あったらどうでしょう?
そして、9,999件目でエラーが起きて止まってしまったら?
「どこまで終わったっけ?」「残りだけやり直したいけど……」と大パニックになりますよね。
プロの現場では、これを防ぐために**「キュー (Queue)」**という仕組みを使います。
仕事を「小さなチケット」に切り分けてクラウドに積み上げ、ロボットたちがそれを次々に取っていくスタイルです。
これなら、途中で止まっても安心ですし、複数台のロボットで協力することも可能です。
1. キューの仕組み:「ディスパッチャー」と「パフォーマー」
キューを使う場合、ロボットを2つの役割に分けるのが鉄則です。
- Dispatcher(ディスパッチャー):
「指示出し役」。Excelなどのデータを読み込み、Orchestrator(クラウド)のキューに「1件ずつのチケット」として登録します。
(一瞬で終わります) - Performer(パフォーマー):
「実行役」。キューからチケットを1枚受け取り、Web入力などの重い処理を行います。
(時間がかかります)
この「分業制」にすることで、もし実行役がエラーで止まっても、指示データ自体はクラウドに残っているので、すぐに再開できるのです。
2. Orchestratorで「キュー」を作る
まずは、データの保管場所(箱)を作ります。
- UiPath Automation Cloud の Orchestrator を開きます。
- [マイ ワークスペース] またはフォルダを選び、[キュー (Queues)] をクリックします。
- [キューを追加] を押し、名前(例:
InvoiceQueue)を入力して作成します。
「自動再試行 (Auto Retry)」の設定項目がありますが、デフォルトの「はい(1回)」のままでOKです。
これが「失敗したら自動でやり直してくれる」という最強の機能です。
3. データを登録する(Dispatcher)
Studioで、「指示出し役」のロボットを作ります。
Excelを読み込んでループするところまでは今まで通りです。
手順
- ループ(For Each Row)の中に、[キュー アイテムを追加 (Add Queue Item)] を配置します。
- キューの名前:
"InvoiceQueue"(先ほど作った名前) - アイテム情報 (ItemInformation): ここが重要!
プロパティの [アイテム情報] ボタンを押すと、小さな画面が出ます。
ここで、「Web入力に必要なデータ」を定義します。
- 名前:
"ClientName"値:CurrentRow("顧客名").ToString - 金額:
"Amount"値:CurrentRow("金額").ToString
これを実行すると、Orchestrator上にデータが積み上がっていきます。
4. データを処理する(Performer)
次に、実際に作業をする「実行役」のロボットを作ります。
① データを取り出す
[トランザクション アイテムを取得 (Get Transaction Item)] を使います。
- キューの名前:
"InvoiceQueue" - 出力変数:
tr_Item(QueueItem型)
これを実行すると、キューの中から「未処理」のデータを1つだけ取ってきて、同時にそのデータを「処理中」マークに変えてくれます(他のロボットに取られないようにロックします)。
② データの中身を使う
取り出した tr_Item から、具体的な値(顧客名など)を取り出すには、以下のように書きます。
tr_Item.SpecificContent("ClientName").ToString
SpecificContent("キーの名前") という呪文を使います。
これをWeb入力のアクティビティなどで使います。
③ 結果を報告する(完了 or 失敗)
処理が終わったら、必ず「報告」をします。
[トランザクション ステータスを設定 (Set Transaction Status)] アクティビティを使います。
- 成功した場合: ステータスを [Successful] にする。
→ キューから消えずに「成功」として記録されます。 - 失敗した場合: ステータスを [Failed] にする。
→ ここで [System Exception](アプリのエラー)を選ぶと、Orchestratorは自動的にそのデータを「再試行(リトライ)」キューに入れてくれます!
💡 メンターからのアドバイス:ビジネス例外とは?
失敗にも2種類あります。
1. システム例外: ネット切れなど。→ 「もう一回やれば直るかも」なのでリトライする。
2. ビジネス例外: データ不備(金額がマイナスなど)。→ 「何度やっても無理」なのでリトライしない。
この使い分けができるようになると、無駄なエラー繰り返しを防げます。
5. キューを使うメリットまとめ
- 頑丈: 途中で止まっても、残りのデータは無事。
- 自動リトライ: 一時的なエラーなら勝手にやり直してくれる。
- 並列処理: データさえ積んであれば、ロボットを5台同時に動かして、5倍の速さで処理できる。
- 見える化: 「今、何件終わって、何件失敗したか」がWeb画面でグラフで見える。
シリーズ完結にあたって
お疲れ様でした!これにて【応用編】も完走です。
あなたは今、
✅ 基本的な操作(Web/Excel)
✅ エラーへの対処(デバッグ/TryCatch)
✅ 実務的な連携(メール/PDF/ファイル操作)
✅ そして、大規模運用の基礎(アセット/キュー)
という、RPA開発に必要な武器をすべて手に入れました。
ここから先は、実際の業務という「戦場」です。
うまくいかないことも沢山あるでしょう。でも、このカリキュラムで学んだ基礎があれば、どんな応用問題も必ず解けます。
UiPathは、あなたの仕事を奪う敵ではありません。
あなたの時間を生み出し、クリエイティブな仕事に集中させてくれる「最強の相棒」です。
さあ、自信を持って、自動化の旅を続けてください。
Happy Automation!