ジョブの実行中にクライアントコンポーネントの自動更新が行われ、ジョブが失敗した

:grey_question: Question

OrchestratorからUnattended ロボットへクライアントコンポーネントの自動更新の設定を行ったところ、ジョブが実行中にも関わらず製品のアップデートが行われ、結果としてジョブが失敗しました。

ジョブへ影響を与えずにクライアントコンポーネントの自動更新を行う方法はありますか?

:bulb: Answer

原因

クライアントコンポーネントの自動更新が行われる際のステップは以下の通りとなり、ジョブが実行中であっても自動更新処理が行われることがあります。
そのため、結果としてジョブが失敗となることがあります。

  1. Robot端末からOrchestratorへ定期的に自動更新対象のバージョンがあるか確認を行います。

更新対象のバージョンがある場合は、インストーラーをダウンロードを行います。

※この処理はジョブが実行されているかの状況に関わらず行われます。

  1. インストーラーのダウンロード完了後、Robotのジョブが実行していない場合は、アップデート処理を実行します。

ダウンロード完了時にジョブが実行されていた場合、10分間(既定値)ジョブの完了を待機します。

  1. 設定された待機時間が経過する前にジョブが終了した場合は、アップデート処理が開始されます。

設定された待機時間が経過した後もジョブが実行されている場合は、強制的にアップデート処理を開始します。

解決策

クライアントコンポーネントの自動更新に関して、ジョブの実行を待機する時間を延長することができます。

設定した待機時間までにジョブが完了すればジョブの失敗を回避することができるため、この値に長い時間を設定します。

「UiPath.Orchestrator.dll.config」の以下の設定値を規定の10分間より大きい値に変更します。

設定を反映させるため、設定ファイルの変更後にOrchestratorのアプリケーションプールの再起動を行ってください。

設定例

以下は設定値を720分(12時間)に変更し、アップデートの際にジョブの終了を最大12時間待機する例です。

保存場所: C:\Program Files (x86)\UiPath\Orchestrator\UiPath.Orchestrator.dll.config

変更箇所: UpdateServer.CheckUpdates.ScheduledForceInstallAfterMinutes

既定値: 10

変更後の値: 720

この設定値の詳細については次のガイドを参照してください。

「UpdateServer.CheckUpdates.ScheduledForceInstallAfterMinutes」

上記の内容はサービスモードでの設定例となります。

ユーザーモードの場合は設定値を「UpdateServer.CheckUpdates.DefaultForceInstallAfterMinutes」に置き換えて適用してください。