Studio
2021.10
バナーの背景画像
Studio ガイド
最終更新日 2024年3月1日

オーケストレーション プロセス

長期実行ワークフローは、サービスのオーケストレーション、人間の介入、無人環境における長期実行トランザクションをサポートするマスター プロジェクトです。

特定のプロセスが、アクティビティの次のステップに進む前に、例外、承認、または検証を処理するために人間の入力を必要とする場合、人間の介入が行われます。この状況では、プロセスの実行が中断され、人間のタスクが完了するまでロボットは解放されます。

ワークフローの断片化

長期実行ワークフローは、UiPath.Persistence.Activities を含み、[プロセスを呼び出し] アクティビティやユーザーの操作を伴わないアクティビティと組み合わせて、人間のタスクとロボットのタスクのオーケストレーションが可能です。セッション 0 で動作するため、高速実行が保証されます。オーケストレーション プロセスのデバッグはユーザー セッションで行われることに注意してください。



長期実行ワークフローは、以下のオーケストレーションが可能です。

  • API コールを実行し、セッション 0 で動作するアクティビティが含まれる可能性があるバックグラウンド プロセス。これらのプロセスは、[プロセスを呼び出し] アクティビティで呼び出すことができます。
  • UI: Orchestrator のアクティビティから [ジョブを開始] によって呼び出された、ユーザー操作を伴うアクティビティによるプロセス。
  • 人間参加型 : Orchestrator でのフォーム入力が必要なタスクを介して、ユーザーが操作します。[フォーム タスクを作成] アクティビティと [フォーム タスク完了まで待機し再開] を組み合わせて使用することを意味します。

オーケストレーション プロセス テンプレート

Studio で [ホーム] > [オーケストレーション プロセス] に移動して、テンプレートを開きます。テンプレートには、種類がフローチャートのワークフローに組み込まれた既定の依存関係 UiPath.Persistence.ActivitiesUiPath.System.Activities が含まれています。



テンプレートの project.json ファイルには、タスクの完了時にプロセス実行が再開されることを示す supportsPersistence: true パラメーターが含まれます。
requiresUserInteraction: false パラメーターは、このワークフローが、ユーザー操作アクティビティを伴わない、バックグラウンド プロセスに似たものであることを示しています。
project.json ファイルのパラメーターを手動で変更することはお勧めできません。


[プロジェクト設定] ウィンドウの [永続性をサポート][はい] に切り替えることで、プロセスをオーケストレーション プロセスに変換できます。

オーケストレーション プロセスのスニペット

作業着手の手がかりとして、[スニペット] パネルには、オーケストレーション プロセスの作成に使用できるワークフロー スニペットが多数用意されています。



オーケストレーション プロセスを構築する

以下の手順に従い、UiPath.Persistence.Activities パッケージのアクティビティ部分を組み合わせ、独自のオーケストレーション プロセスを構築してください。
  1. [キュー アイテムを追加して参照を取得] アクティビティを使用して、入力、出力/入力、または出力パラメーターでキュー アイテムを追加し、対応するキュー アイテムのオブジェクトを取得します。キュー アイテムが処理されると、このアクティビティが [キュー アイテム完了まで待機し再開] アクティビティと組み合わされている場合、ItemInformation プロパティの引数がマッピングされたワークフロー変数に割り当てられます。


  2. [キュー アイテム完了まで待機し再開] アクティビティを [キュー アイテムを追加し参照を取得] アクティビティと組み合わせる必要があります。ワークフローは一時停止ステートになり、プロセスの次のステップに進む前にこのアクティビティで特定のキュー アイテムの完了を待機しているロボットを解放します。



  3. [ジョブを開始し参照を取得] アクティビティは入力、入力/出力、および出力引数を提供することで、別のプロセスを呼び出します。このアクティビティが [ジョブ完了まで待機し再開] アクティビティと組み合わされている場合は、実行後、変更された引数はワークフロー変数にマッピングされます。


  4. [ジョブ完了まで待機し再開] アクティビティは、[ジョブを開始し参照を取得] と組み合わせる必要があります。後者のアクティビティの出力として取得した Job Object を使用します。これにより、現在のプロセスが一時的に中断され、参照ジョブが完了するまで待機し、参照ジョブがステータスを更新してプロセスを再開します。


  5. ワークフロー内の人間の操作のためのフォームベースのビジュアリゼーションとタスクを作成するために [フォーム タスクを作成] アクティビティを使用します。関連するワークフロー コンテキストを持つこれらのフォームは、意思決定やその他のシナリオのためにユーザーに提示されます。このアクティビティでフォーム デザイナーを有効化するには、UiPath.FormActivityLibrary パッケージをインストールする必要があります。

    注: v2021.4 以降の Studio で v1.2.1 より前のバージョンの UiPath.Persistence.Activities および UiPath.FormActivityLibrary を使用すると、フォーム デザイナー ウィンドウにフォーカスが保持されず、デザイナー ウィンドウが開いているときに Studio と対話できてしまいます。この問題を回避するために、パッケージを最新バージョンにアップデートしてください。


  6. [フォーム タスク完了まで待機し再開] アクティビティは、この特定のタスクがエンド ユーザーによって完了するまでワークフローを一時停止するための入力として Task Object を提供することによって、[フォーム タスクを作成] と組み合わせる必要があります。


  7. ワークフローの実行を一時停止し、指定した日時に再開する[時間差で再開] アクティビティを使用します。
  8. Studio からワークフローを実行します。ロボットは、実行時間の長いアクティビティを実行するたびに、Studio はリボンで [再開] オプションが有効化された読み取り専用のステートになります。続行するには、基になるタスク、キュー アイテム、またはジョブを完了し、[再開] をクリックします。

ベスト プラクティス

  • UiPath.Persistence.Activities パッケージの長期実行アクティビティ (「完了まで待機し再開」系のアクティビティ) の部分は、オーケストレーション プロセスのエントリ ポイント、つまり Main.xaml としてマークされたファイルでのみ使用できます。
  • オーケストレーション プロセスから構築された再利用可能なコンポーネントは、別のオーケストレーション プロセス内からしか参照できません。
  • 長期実行ワークフローがキュー処理にアタッチされており、ワークフローが中断ステートにある場合、キュー アイテムは 24 時間を超えても進行中ステートのままになります。これは、ワークフローが再開時にトランザクション ステータスを設定するまで続きます。「完了まで待機し再開」系アクティビティと同じスコープに含まれている場合は、キュー アイテムの識別子は長期実行ワークフローのコンテキストの一部になります。
  • 永続化ポイント ([待機] および [再開] アクティビティ) は、[繰り返し (コレクションの各要素)] アクティビティの本体内で使用しないでください。これらのアクティビティは最初の繰り返しを実行した後にワークフローを中断しますが、この挙動が意図した挙動と異なることがあるためです。

    代わりに、[並列繰り返し (コレクションの各要素)] などの 永続性アクティビティをループとともに使用する方法を検討してください。ジョブごとの再開トリガーの最大数は、既定で 1,000 に制限されています。

  • 長期実行のワークフローは、ジョブを一時停止したロボットと同じ種類 (Unattended または Non-production) で、同じロボット グループまたはフォルダーにあるロボットであれば、どのロボットでも再開できます。したがって、実行に必要なローカル リソースは永続化ポイントの後にも用意する必要があります。
  • 長期実行アクティビティの範囲で使用されるすべての変数は、シリアライズ可能でなければなりません。このページに記載されている変数の型はシリアライズ可能です。テキスト、True または False、数値、配列、日付と時刻。データ テーブルとジェネリック値変数。
  • 長期実行アクティビティを含まない範囲で使用される変数は、ワークフローが範囲内で一時停止されないため、シリアライズの要件は適用されません。非シリアライズ可能なデータ型は、[ジョブ完了まで待機し再開][キュー アイテム完了まで待機し再開][フォーム タスク完了まで待機し再開] などの待機アクティビティと再開アクティビティの間にある限り、同じワークフローの個別のシーケンス範囲で使用するか、他のファイルを呼び出すことによって使用できます。
  • 長期実行アクティビティによって生成されたオブジェクトの一部のプロパティは、 [ローカル] パネルで評価できないことに留意してください。
  • 各ジョブで実行されるアクション数が多いと予期されるワークフローには、適切なバッチ処理を実装してください。ジョブが一度に待機できるアクション数 (または他のジョブ トリガー) の上限は、既定で 1,000 件に設定されています。

    注: [待機] アクティビティと [リトライ スコープ] アクティビティをオーケストレーション プロセスのメイン ワークフロー内で使用することはサポートされておらず、正しく機能しません。そのような場合は、それらのアクティビティを [非永続スコープ] アクティビティ内に配置する必要があります。

Was this page helpful?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
UiPath ロゴ (白)
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.