Robô
2022.4
falso
Imagem de fundo do banner
Guia do usuário do robô
Última atualização 13 de mai 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.