Robô
2022.4
falso
Imagem de fundo do banner
Guia do usuário do robô
Última atualização 3 de abr de 2024

Interrompendo um Processo

Um processo pode ser interrompido por meio dos comandos Soft Stop ou Kill.

Comando Soft Stop

O comando Soft Stop marca o processo em um estado Should Stop. O estado pode ser consultado de um fluxo de trabalho ainda em execução usando a atividade Should Stop. O fluxo de trabalho deve tratar explicitamente desse estado e finalizar. O fluxo de trabalho não para automaticamente sem lidar com o estado Should Stop. Consulte REFramework para um cenário que aproveita o Soft Stop.

O comando Stop foi projetado para automações Unattended e está disponível apenas no Orchestrator. No Orchestrator, o Comando Soft Stop é chamado Stop.

Comando Kill

O comando Kill envia primeiro uma solicitação Cancel ao fluxo de trabalho. A solicitação Cancel do fluxo de trabalho é distinta de Should Stop.Cancel é um sinal do fluxo de trabalho tratado automaticamente pelo fluxo de trabalho. O sinal faz com que as atividades sejam canceladas em cascata, enquanto permite que blocos Finally do fluxo de trabalho executem etapas de limpeza. Se o sinal Cancel não parar o fluxo de trabalho em três segundos, o trabalho será encerrado forçando a parada de quaisquer atividades em execução em qualquer ponto em sua execução.

O comando Kill foi projetado para automações Attended e está disponível no Orchestrator e em clientes da área de trabalho e APIs como Assistant, Studio, RobotJS. Em clientes da área de trabalho, o comando Kill é chamado Stop.

O Cenário de Processo REFramework

REFramework aproveita o comando Soft Stop

Quando um processo é interrompido, o bloco que contém a lógica do erro é ignorado e o bloco final é executado.Isso faz com que os valores para o BusinessError e SystemError permaneçam nulle o status geral do processo é considerado bem-sucedido. O comportamento descrito é pretendido.

Cenário Try-Catch

Durante um fluxo de trabalho Try-Catch, quando um processo é interrompido, o status da transação pode apresentar como bem-sucedido, quando na verdade ele não foi concluído.

Cancelando um Processo

Se a execução estiver no bloco Try ou no Catch, quando o comando Cancelar for recebido pelo Robô, ele pula para o bloco Finally que verifica qualquer erro. Se nenhum erro for encontrado, o bloco Finally entende que a execução foi concluída com sucesso, pois não há eventos de falha (eles estão em branco).

Encerrando um Processo

Se a execução estiver no bloco Try ou no Catch, quando o comando Encerrar for recebido pelo Robô, ele irá primeiro tentar Cancelar o processo, seguindo para o bloco Finally. Se a lógica dentro do bloco Finalmente não for concluída em três segundos desde a recepção do comando Cancelar, toda a execução é perdida e o processo como um todo é bem-sucedido nos logs como se nenhum erro fosse registrado no bloco Catch, já que foi saltado.

Evitando Falso Positivos
  • O ajuste do status do Processo para Successful deve ser feito apenas dentro do bloco Try, após a conclusão da Lógica de Negócios.
  • A definição do status para Failed deve ser feita apenas dentro do bloco Catch, após a conclusão da lógica de tratamento de erros.
  • No bloco Finally, deve haver apenas a lógica de limpeza, pois ela é executada independentemente de a execução ter sucesso ou não.

Assegurar que o erro de lógica seja executado

Se o bloco que contém a lógica de erro for ignorado, os valores para BusinessError e SystemError permanecem null e o status geral do processo é considerado successful, pois nenhum erro foi registrado.

Was this page helpful?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Logotipo branco da Uipath
Confiança e segurança
© 2005-2024 UiPath. All rights reserved.