Share via


バックグラウンド ワークフロー プロセスの監視と管理

プロセスを監視および管理するには、プロセスを特定し、状態を評価し、問題に対処するために必要なアクションを実行する必要があります。

バックグラウンドのワークフローの監視

バックグラウンドのワークフローはシステム ジョブ行を生成して、その状態を追跡します。 アプリケーション内の複数の場所にあるこれらのシステム ジョブに関する情報にアクセスできます。

  • 設定>システム ジョブ

    これには、すべての種類のシステム ジョブが含まれます。 行を システム ジョブの種類ワークフロー にあるところへフィルター処理をする必要があります。

  • バックグラウンド ワークフロー プロセスから

    バックグラウンドのワークフローの定義を開き、プロセス セッションタブに移動します。これにより、このバックグラウンドのワークフローのシステム ジョブだけが表示されます。

  • 行から

    ナビゲーションに バックグラウンド プロセス の関連付けが含まれるように、テーブル フォームを編集できます。 これにより、行のコンテキストで開始されたすべてのシステム ジョブが表示されます。

Note

非同期システム ジョブ (ワークフロー) が数回連続して失敗した場合、システムはそのたびにそのジョブを実行する間隔を延ばして、管理者またはアプリ作成者が問題を調査して解決できるようにします。 ジョブが成功し始めたなら、通常の実行を再開します。

バックグラウンド ワークフローの実行に関するアクション

バックグラウンド ワークフローの実行中、ワークフローを取り消し一時停止、または延期するオプションを使用できます。 ワークフローを一時停止していた場合は、それを再開できます。

バックグラウンド ワークフロー プロセスの状態

バックグラウンド ワークフロー プロセスの一覧を表示する場合、個々のプロセスは 状態 値と 状態の理由 値のいずれか 1 つを使用できます。

都道府県 ステータス
準備完了 リソースの待機中
中止 待機中
ロック 処理中

一時停止中

取り消しています
完成 成功しました

失敗

キャンセル

プロセス ログ行を削除する

よく実行されるバックグラウンド ワークフローまたは業務プロセス フローが組織で使用されている場合、プロセス ログ行の容量が大きくなり、パフォーマンスの問題を引き起こしたり、大容量のストレージを消費する可能性があります。 標準の行一括削除ジョブのいずれかによって十分に除去されないプロセスのログ行を削除するには、一括削除システム ジョブ機能を使用してカスタムの行一括削除ジョブを作成できます。

  1. 設定>データ管理>行の一括削除に移動します。

  2. 行の一括削除 領域で 新規 を選択します。

  3. 一括削除ウィザード の開始ページで 次へ を選択します。

  4. 検索 の一覧で システム ジョブ をクリックします。

  5. 次の条件を使用して、プロセス ログ行を削除する行一括削除ジョブを作成します:

    • システム ジョブの種類がワークフローと等しい。 これは、バックグラウンド ワークフロー行を対象としています。
    • 状態が完了と等しい。 完了したワークフローのみがジョブの実行対象になります。
    • 状態の理由が成功と等しい。 成功したジョブ、キャンセルしたジョブ、失敗したジョブを削除します。
    • 完了日時が X 日 30 よりも古い。 [完了日時] 列を使用して、30 日を超えたバックグラウンド ワークフロー プロセスのログ行のみを削除します。

    行の一括削除ジョブを作成するための設定を示すスクリーンショット。

  6. 次へ を選択します。

  7. 一括削除ジョブを実行する頻度を設定します。 設定した頻度で実行するようにジョブをスケジュール設定するか、即時オプションを使用する の 1 回限りの一括削除ジョブを作成できます。 この例では、定期的なジョブが 2018 年 5 月 21 日から 30 日間隔で実行されるように設定されます。

    行の一括削除オプションを示すスクリーンショット。

即時オプションを使用する

行の同期一括削除をすぐに実行できるオプションがあることに注意してください。即時オプションを選択します。 この削除操作は、各行を削除イベント パイプラインに渡すのではなく、直接 SQL Server を実行することで行われ、システム パフォーマンスへの影響を軽減できます。 一括削除ジョブが非同期キューで処理を待機するのに比べて、これは余分なバックグラウンド ワークフロー行をすばやくクリーンアップする場合に適したオプションです。

即時 オプションは、次の条件を満たす場合に有効です。

  • 一括削除ジョブの対象がシステム ジョブテーブルです。
  • 検索条件が、システム ジョブの種類がワークフローと等しいという条件です。
  • 一括削除ジョブを作成するユーザーが、AsyncOperation テーブルに対するグローバル レベルの削除権限を持っています。 システム管理者セキュリティ ロールには、この権限があります。

同期一括削除では、完了状態の AsyncOperation 行のみが削除されます。 1 回の呼び出しでの最大 100 万件の行が処理されます。 ご使用の環境で 100 万件を超える行を削除する場合には、ジョブを複数回実行する必要があります。

問題をトラブルシューティングします

所有者の変更後のワークフロー実行の失敗

ワークフロー所有者ユーザーが非アクティブ化された、ワークフローを実行するためのアクセス許可がなくなった、または管理者によって変更された場合、以前に開始され、待機中状態のままの実行は、前の所有者に属しているため、失敗します。 この状況では、前の所有者に属する待機中の実行をキャンセルすることをお勧めします。 キャンセルできない実行があり、新しい所有者に更新する必要がある場合は、(サポートに連絡してください)[/power-platform/admin/get-help-support]でサポートを受けてください。

次のステップ

バックグラウンド ワークフロー プロセスのベスト プラクティス