16.5. 実行エラーの自動承認
実行エラーが発生すると、デフォルトでは承認されず、承認されるには手動での作業が必要になります。承認が行われてないと、実行エラーは注意が必要な情報としてみなされます。ボリュームが大きい場合は、手動作業には時間がかかるため、状況によっては適当ではありません。
自動承認によりこの問題が解消されます。これは jbpm-executor
を使用したスケジュールジョブをベースとするため、以下の 3 つのタイプのジョブが利用できます。
org.jbpm.executor.commands.error.JobAutoAckErrorCommand
-
1 回失敗したものの、別の実行でキャンセル、完了、もしくは再スケジュールされたジョブを探します。このジョブは
Job
タイプの実行エラーのみを承認します。 org.jbpm.executor.commands.error.TaskAutoAckErrorCommand
-
1 回失敗したものの、いずれかの終了状態 (completed、failed、exited、obsolete) にあるタスクのユーザータスク実行エラーを自動承認します。このジョブは、
Task
タイプの実行エラーのみを承認します。 org.jbpm.executor.commands.error.ProcessAutoAckErrorCommand
-
エラーがアタッチされたプロセスインスタンスを自動承認します。プロセスインスタンスが既に終了してる (completed または aborted) エラー、もしくはエラーの発生元であるタスクがすでに終了しているエラーを承認します。これは
init_activity_id
値をベースにしています。このジョブは、これらの条件に合致する実行エラーのタイプすべてを承認します。
ジョブは Process Server で登録できます。Business Central では、以下のようにしてエラーに対する自動承認ジョブを設定できます。
前提条件
- プロセス実行中に 1 つ以上のタイプの実行エラーが発生したが、さらなる注意を必要としていない。
手順
-
Business Central で、Menu
Manage Jobs の順にクリックします。 - 画面右上の New Job をクリックします。
- Business Key フィールドにプロセス相関キーを入力します。
- Type フィールドに上記のリストから自動承認ジョブタイプを追加します。
Due On でジョブの完了時間を選択します。
-
ジョブをすぐに実行する場合は、
Run now
オプションを選択します。 特定の時間にジョブを実行する場合は、
Run later
を選択します。Run later
オプションの横に日時フィールドが表示されます。フィールドをクリックしてカレンダーを開き、ジョブの特定の日時をスケジュールします。
-
ジョブをすぐに実行する場合は、
- Create をクリックしてジョブを作成し、Manage Jobs ページに戻ります。
以下のステップは任意となり、自動承認ジョブを 1 回のみ (SingleRun
) または特定の間隔 (NextRun
) で実行するか、承認するジョブの検索にエンティティーマネジャーファクトリーのカスタム名を使用 (EmfName
) して実行するように設定できます。
- Advanced タブをクリックします。
- Add Parameter ボタンをクリックします。
ジョブに適用する設定パラメーターを入力します。
-
SingleRun
:true
またはfalse
-
NextRun
: 2h、5d、1m などの時間表示。 EmfName
: カスタムのエンティティーマネージャーファクトリーの名前。
-