Data de lançamento: 7 de abril de 2022
Novo mecanismo para iniciar trabalhos por meio de gatilhos de fila
Após alguns vai e vens na área de gatilhos de fila, estamos recaracterizando a maneira como os gatilhos de fila iniciam trabalhos e esperamos que seja a implementação definitiva e a melhor possível.
Declaração do problema: sempre que suas filas continham menos itens novos do que itens em progresso, nenhum trabalho era iniciado, apesar de existirem robôs ociosos. Isso acontecia porque o número de trabalhos em execução (processando ativamente itens de fila) excedia o número de trabalhos de destino (trabalhos necessários para processar os novos itens).
Correção inicial: o Orchestrator contabilizava tanto itens de fila novos quanto os em andamento ao calcular o número de trabalhos de destino, em vez de apenas os itens novos. Parecia algo bom. Mas não funcionava.
Correção nova e brilhante: o Orchestrator contabiliza novos itens ao calcular o número de trabalhos de destino, mas analisa o número de trabalhos pendentes ao decidir se inicia um novo trabalho ou não.
- Digamos que você tenha 2 itens novos em uma fila e existam 2 trabalhos pendentes => então nenhum novo trabalho é iniciado.
- Digamos que você tenha 2 itens novos e exista 1 trabalho pendente => então 1 novo trabalho é iniciado.
Isso garante que o Orchestrator vai iniciar trabalhos suficientes para processar todos os novos itens sem exagerar.
Autenticação do Azure AD para o SQL Server
Adicionado em 20 de abril de 2022
We once again come bearing gifts for those of you who installed Orchestrator on an Azure VM or Azure App Service: we now offer support for Azure AD. You can use this authentication method to connect Orchestrator to SQL Server. For details, see our documentation.
Melhorias
- Sabemos que suas tabelas Ledger de banco de dados podem ficar bastante lotadas, exigindo assim uma limpeza frequente. Para isso, disponibilizamos um novo script de limpeza, permitindo que você exclua os dados da tabela Ledger a cada sete dias e aplique um tamanho de lote de 1.000 entradas. Descubra o novo script em nossa documentação:
- Instalação do Orchestrator independente
- Automation Suite installation
- A ferramenta de configuração da plataforma não verifica mais o nome do host do certificado ao atualizar de uma versão anterior à 2020.4. Essa mudança ocorre devido à verificação não ser aplicável neste cenário de atualização.
- Ao atualizar o Orchestrator, você agora recebe uma mensagem de aviso se uma versão do Insights anterior à 2021.10 estiver habilitada. Essa mensagem foi feita para lembrar você de que os requisitos de hardware do Insights foram alterados significativamente a partir da versão 2021.10. Antes de atualizar o Orchestrator, é preciso se certificar de que sua configuração atenda aos novos requisitos do Insights.
Problemas conhecidos
-
Como um host, tentar finalizar uma janela de manutenção por meio da interface gráfica do Swagger pode falhar. Isso acontece porque a interface gráfica do Swagger usa cookies para a autenticação, que são perdidos ao fechar o navegador.
Para finalizar o modo de manutenção por meio da API, use uma das seguintes soluções alternativas:
- Não feche o navegador e faça a solicitação POST para
/api/Maintenance/Enda partir da interface gráfica do Swagger. - Use um aplicativo de teste de API (por exemplo, o Postman) para:
- recuperar um token de acesso substituindo suas credenciais no endpoint
/api.Account/Authenticatee, em seguida - faça uma solicitação POST para o endpoint
/api/Maintenance/Endusando o cabeçalhoAuthorization: Bearer {access_token}.
- recuperar um token de acesso substituindo suas credenciais no endpoint
- Execute o seguinte script do PowerShell:
- Não feche o navegador e faça a solicitação POST para
$orchestratorUrl="https://localhost:6234"
$hostTenant="host"
$hostUser="admin"
$hostPassword=""
$tenantId="" #number
# Authenticate
$body=@{
"tenancyName"="$hostTenant";
"usernameOrEmailAddress"="$hostUser";
"password"="$hostPassword"
}
$response = Invoke-WebRequest -Uri "$orchestratorUrl/api/account/authenticate" -Method Post -Body ($body | ConvertTo-Json) -ContentType "application/json"
$token = "Bearer " + ($response | ConvertFrom-Json).result
# End maintenance mode
$headers=@{
"Authorization"="$token"
}
$res = Invoke-WebRequest -Uri "$orchestratorUrl/api/maintenance/end?tenantId=$tenantId" -Headers $headers -Method Post -ContentType "application/json" -ErrorAction Stop
if ($res -and ($res.StatusCode -eq 200)) {
Write-Host "Maintenance mode ended successfully for tenant $tenantId"
}
$orchestratorUrl="https://localhost:6234"
$hostTenant="host"
$hostUser="admin"
$hostPassword=""
$tenantId="" #number
# Authenticate
$body=@{
"tenancyName"="$hostTenant";
"usernameOrEmailAddress"="$hostUser";
"password"="$hostPassword"
}
$response = Invoke-WebRequest -Uri "$orchestratorUrl/api/account/authenticate" -Method Post -Body ($body | ConvertTo-Json) -ContentType "application/json"
$token = "Bearer " + ($response | ConvertFrom-Json).result
# End maintenance mode
$headers=@{
"Authorization"="$token"
}
$res = Invoke-WebRequest -Uri "$orchestratorUrl/api/maintenance/end?tenantId=$tenantId" -Headers $headers -Method Post -ContentType "application/json" -ErrorAction Stop
if ($res -and ($res.StatusCode -eq 200)) {
Write-Host "Maintenance mode ended successfully for tenant $tenantId"
}
Correções de bugs
-
Um problema foi corrigido que permitia que um invasor com acesso privilegiado a um robô recuperasse a LicenseKey (MachineKey) de outros robôs dentro do mesmo tenant, usando força bruta com chamadas de API para o Orchestrator. Teoricamente, isso permitiria que o invasor acessasse recursos restritos apenas àquele robô.
Read the security advisory for UiPath - Robot Account Takeover.
-
Occasionally, job executions of long running workflows would get stuck in a Running state without being transitioned to a Suspended state. Upon killing those jobs, the jobs transitioned to and got stuck in a Terminating state. The underlying issue has been fixed and long running jobs are now transitioned to the different states as expected and are executed without issues.
-
Cometemos um erro de digitação na janela Atribuir funções a uma conta de robô. Em vez de dizer Pesquisar uma conta de robô, o campo dizia Pesquisar uma conta de robô. O nome do campo agora está escrito corretamente.
-
Os nomes de pacotes carregados manualmente não eram exibidos nos detalhes da auditoria. Esse problema afetava tanto os pacotes carregados individualmente quanto os carregados em massa. Agora, os nomes de todos os pacotes carregados são registrados com sucesso nos detalhes da auditoria.
-
Os usuários que não tinham um Sobrenome especificado no Active Directory não conseguiam entrar.
-
A recuperação de ativos de credencial falhava para o repositório de credenciais do CyberArk ao definir
Plugins.SecureStores.CyberArk.UsePowerShellCLIcomotrueno arquivoUiPath.Orchestrator.dll.configdo Orchestrator. -
Quando os bancos de dados do Orchestrator e do Identity usavam agrupamentos específicos turcos, as atualizações da versão 2020.10 para a 2021.10 falhavam. Ao optar por um agrupamento de SQL baseado em Latin-1, o mesmo comportamento ocorria se a cultura turca (
tr-tr) fosse usada no servidor do aplicativo. Para corrigir esse problema, alterne para a culturaen-use repita a instalação.