2021.10.1
公開日: 2021 年 12 月 7 日
今回のパッチでは、キュー トリガーのロジックを変更しました。具体的には、到達する必要のあるジョブの数を算出する際に、新規および処理中のキュー アイテムの合計数が考慮されるようになりました。以前は新しいアイテムの数のみが考慮されていたため、処理中のアイテムよりも新しいアイテムの数が少ない場合は、ロボットがアイドル状態であってもジョブが開始されませんでした。以前の算出方法では、実行中のジョブ (キュー アイテムをアクティブに処理しているジョブ) の数が、実行可能なジョブ (新しく追加されたアイテムを処理するのに必要なジョブ) の数より大きくなることが多く、その都度この問題が発生していました。
変更前と変更後の挙動を分かりやすく示した例は、以下のとおりです。
次のように定義したキュー トリガーがあるとします。
フィールド |
値 (Value) |
---|---|
最初のジョブをトリガーするアイテムの最小数 |
1 |
同時に許可される保留中および実行中のジョブの最大数 |
100 |
指定した数のアイテムが追加されるたびにジョブをトリガー |
1 |
変更前の挙動の再現手順
- キューにキュー アイテムを 3 個追加します。Orchestrator は、新しいアイテムの数に基づいて必要なジョブの数を算出します。この場合はジョブが 3 つ必要です。Orchestrator は、キュー アイテムを 3 個処理するためにジョブを 3 つ開始します。3 個のアイテムのステータスが [処理中] に変わります。
- キューに新しいアイテムをさらに 2 個追加します。Orchestrator は、新しいアイテムの数に基づいて必要なジョブの数を算出します。この場合はジョブが 2 つ必要です。必要なジョブの数が実行中のジョブの数より少ないため、Orchestrator は新しいジョブを開始しません。
- キューに新しいアイテムをさらに 2 個追加します。Orchestrator は、新しいアイテムの数に基づいて必要なジョブの数を算出します。この場合はジョブが 4 つ (2+2) 必要です。Orchestrator は、必要なジョブの数 (4 つ) に到達するためにジョブを 1 つ開始します。
変更後の挙動の再現手順
- キューにキュー アイテムを 3 個追加します。Orchestrator は、新しいアイテムと処理中のアイテムの合計数に基づいて必要なジョブの数を算出します。この場合はジョブが 3 つ必要です。Orchestrator は、キュー アイテムを 3 個処理するためにジョブを 3 つ開始します。3 個のアイテムのステータスが [処理中] に変わります。
- キューに新しいアイテムをさらに 2 個追加します。Orchestrator は、新しいアイテムと進行中のアイテムの合計数に基づいて必要なジョブの数を算出します。この場合はジョブが 5 つ (3+2) 必要です。Orchestrator は、必要なジョブの数 (5 つ) に到達するためにジョブを 2 つ開始します。
権限の問題や接続の失敗といったランタイムの問題の可視性を向上させるため、ランタイム例外が Orchestrator によって Elasticsearch にログ記録されるようになりました。
Orchestrator で S3 互換ストレージをプラグ アンド プレイで利用できるようになりました。優れたスケーラビリティ、低コスト、高い信頼性といった S3 のメリットを享受できます。
今回のリリースより、Azure Active Directory (Azure AD) との連携が組織/テナント レベルで利用できるようになりました (各組織は 1 つのテナントで構成されます)。
ホスト レベルでの Azure AD との連携と、それを活用した SSO の利用は以前から可能でした。今回の変更により、Azure AD との連携機能を組織/テナント レベルで構成すると、SSO に加えディレクトリ検索やユーザーの自動プロビジョニング機能も利用できます。
詳しい情報や手順については、「Azure AD 連携を設定する」をご覧ください。
- スタンドアロンの Orchestrator のパフォーマンスを向上させ、IaaS に 15 ノードをデプロイした環境で、最大 300,000 台の Attended ロボットを対話型サインインによって接続できるようにしました。最新のパフォーマンス改良について詳しくは、「デプロイの規模を拡大する」をご覧ください。
- クリーン インストールとアップグレードの両方で、更新サーバーのデータベースではなく既存の Orchestrator のデータベースが既定で使用されるようになりました。
- コマンド ライン パラメーターを 5 つ追加し、Orchestrator データベースへの接続を柔軟に設定・カスタマイズできるようにしました。これらのパラメーターは、Orchestrator のサイレント インストールのコマンド (クリーン インストールまたはアップグレード) で利用できます。また、これらのパラメーターを
parameters.JSON
ファイルに追加することもできます。新しいパラメーターの詳細と使用方法の例については、『UiPath 製品のインストールとアップグレード』ガイドの「コマンド ライン パラメーター」をご覧ください。
Publish-IdentityServer.ps1
に、2 つの必須パラメーター-orchDetails
と-identityServerDetails
を追加しました。どちらも、Orchestrator と Identity Server それぞれのresourceGroupName
、appServiceName
、およびtargetSlot
の値を含むハッシュ テーブルです。詳しくは、「Publish-IdentityServer.ps1 のパラメーター」をご覧ください。
ホスト管理ポータルで変更できる、ホスト レベルのセキュリティ設定に以下の変更を加えました。
- [最低限必要なパスワードの長さ] フィールドの値を 1 から 256 の範囲で設定できるようにしました。以前は、設定できる値の最大文字数は 14 でした。
- [パスワードの有効期限までの日数] フィールドの値を 0 から 1000 の範囲で設定できるようにしました。以前は、設定できる値の最大文字数は 120 でした。
UiPathOrchestrator.msi
インストーラーは、ASP.NET Core ホスティング バンドル 3.0.x または 5.0.0-5.0.2 以外のバンドルでは機能しません。
- Orchestrator の SignalR の設定が既定 (Websocket トランスポートのみが選択されている) になっていると、対応するリモート ロボット ユーティリティ
UiPath.RemoteDebugging.Agent.exe
がマルチノード環境 (スタンドアロンまたは Automation Suite のインストールのいずれか) で実行できません。この挙動を修正するには、利用可能なすべての SignalR トランスポート (WebSocket (既定)、Server-Sent Events (SEE)、ロング ポーリング) を選択し、ロード バランサーで固定セッションを有効化してください。 - Orchestrator v2021.10 へのアップグレード後にアプリケーションを起動すると、「HTTP Error 500.30 ASP.NET Core app failed to start (ASP.NET Core アプリの起動に失敗しました。)」というエラー メッセージが返されることがあります。
これは、構成システムが初期化に失敗し、以下の例外を返すことによって発生します。
"Exception Info: System.Configuration.ConfigurationErrorsException: Configuration system failed to initialize -System.Configuration.ConfigurationErrorsException: Unrecognized configuration section system.web. (C:\Program Files (x86)\UiPath\Orchestrator\UiPath.Orchestrator.dll.config line 228)".
UiPath.Orchestrator.dll.config
ファイルから以下の構成セクションと、対応するサブセクションを削除してください。
<system.web>
<system.webserver>
<system.webServer>
<system.serviceModel>
<nwebsec>
<system.net>
- Orchestrator を v2021.10 に更新すると、次のエラーが返されることがあります。
Updating failed with the following error: System.Exception: Error:-1, Message:An error occurred while migrating orchestrator data during post migration. DomainUnreachable at UiPath.OrchestratorCAs.IdentityDatabaseManager.RunDbMigrationToolObfuscatedLogging(String arguments, String[] tokensToObfuscate) at UiPath.OrchestratorCAs.IdentityDatabaseManager.MigrateUsersFromOrchestratorDbOnIdentityDecoupledInstall(String webConfigPath, String identityPublicUrl, String orchestratorDBConnectionString, String identityDBConnectionstring, String secretsFilePath) at UiPath.OrchestratorCAs.IdentityDatabaseManager.ApplyDbMigrationsOnIdentityDecoupledInstalling(String webConfigPath, String identityAppSettingsJsonPath, String orchestratorUrl, String identityPublicUrl, String orchestratorDbConnectionString, String identityDbConnectionstring) at UiPath.OrchestratorCAs.CustomActions.Deferred.UpdateConfigurationAndDatabasesAction.ApplyIdentityDbConfigMigrations() at UiPath.OrchestratorCAs.CustomActions.Deferred.UpdateConfigurationAndDatabasesAction.Execute() at UiPath.OrchestratorCAs.CustomActions.Base.BaseCustomAction.InternalExecute
Updating failed with the following error: System.Exception: Error:-1, Message:An error occurred while migrating orchestrator data during post migration. DomainUnreachable at UiPath.OrchestratorCAs.IdentityDatabaseManager.RunDbMigrationToolObfuscatedLogging(String arguments, String[] tokensToObfuscate) at UiPath.OrchestratorCAs.IdentityDatabaseManager.MigrateUsersFromOrchestratorDbOnIdentityDecoupledInstall(String webConfigPath, String identityPublicUrl, String orchestratorDBConnectionString, String identityDBConnectionstring, String secretsFilePath) at UiPath.OrchestratorCAs.IdentityDatabaseManager.ApplyDbMigrationsOnIdentityDecoupledInstalling(String webConfigPath, String identityAppSettingsJsonPath, String orchestratorUrl, String identityPublicUrl, String orchestratorDbConnectionString, String identityDbConnectionstring) at UiPath.OrchestratorCAs.CustomActions.Deferred.UpdateConfigurationAndDatabasesAction.ApplyIdentityDbConfigMigrations() at UiPath.OrchestratorCAs.CustomActions.Deferred.UpdateConfigurationAndDatabasesAction.Execute() at UiPath.OrchestratorCAs.CustomActions.Base.BaseCustomAction.InternalExecute
この問題を回避するには、ドメインへのアクセス権を持つドメイン ユーザーがインストールを実行するようにしてください。ドメイン ユーザーがアクセス権を持っているかどうかを確認するには、次のシェル コマンドを実行します。
$domain="WindowsAuth.Domain" $context = new-object System.DirectoryServices.ActiveDirectory.DirectoryContext("domain",$domain) [system.directoryservices.activedirectory.domain]::GetDomain($context)
$domain="WindowsAuth.Domain" $context = new-object System.DirectoryServices.ActiveDirectory.DirectoryContext("domain",$domain) [system.directoryservices.activedirectory.domain]::GetDomain($context)
- Orchestrator の言語を日本語、中国語、または韓国語に設定すると、[ログ] ページの時刻が正しくレンダリングされませんでした。具体的には、
0
にスラッシュが入って表示され、その0
の直後の単位 (時/分/秒) が表示されませんでした。たとえば、11時20分03秒
と表示されるべき箇所で11時2Ø03秒
と表示されていました。 - Orchestrator マシンの起動/再起動時にノードの 1 つにエラーが表示され、使用不可能として表示される場合がありました。この問題は、現在は解決しました。
- Orchestrator v2020.10.10 の環境でキュー アイテムあたりの処理時間が 1 秒未満の場合に、デッドロックが発生していました。このとき、プロセスは「An error has occurred. Error code: 0 (エラーが発生しました。エラー コード: 0)」という例外を複数回スローし、その後クラッシュしていました。この問題は修正され、キュー アイテムの処理時にデッドロックが発生しなくなりました。
- システムのメール通知を設定する際に [既定の資格情報を使用] を選択すると、[SMTP ユーザー名] と [SMTP パスワード] フィールドが空白の状態では [メール設定をテスト] ボタンを使用できませんでした。