Automação Python

Como gerenciar e monitorar erros de automação Python RPA

Gerenciar e monitorar erros nos projetos de automação RPA torna-se cada vez mais importante, conforme a sua operação escala. É crucial entender os erros das execuções dos robôs para minimizá-los ou dar o devido direcionamento, de acordo com o que aconteceu. Vamos entender neste artigo como fazer esse gerenciamento, a importância de monitorar sua automação e como fazer isso.

 

Gerenciamento de automação RPA

Automações RPA podem ter diversas etapas para atender os requisitos de um processo. Precisamos entender como essas etapas devem funcionar e o que é importante para as áreas envolvidas, desde o time que solicitou a demanda, a área usuária, até o time de desenvolvimento. E neste mapeamento, devemos incluir também quais são os erros que podem acontecer, pois alguns deles já são até esperados de acontecer.

 

Precisamos ter clara a ideia de que o RPA vai falhar de qualquer forma. O que não podemos deixar de fazer é monitorar para que a reação aos erros sejam mais rápidas e eficientes e que as pessoas corretas saibam o que aconteceu e onde está o problema, para que possam atuar na correção. Ou seja, precisamos ter uma forma eficaz de comunicar o erro.

 

⚠️ Saiba mais sobre a importância da orquestração em: Orquestração RPA

 

Gerenciamento de erros de automação RPA

Se conhecemos bem o processo e existe uma boa documentação atualizada sobre como as coisas devem ser feitas e onde as falhas podem acontecer, já podemos prever formas de lidar com esses erros em nosso robô.


⚠️ Saiba mais em: Erros comuns nos primeiros passos com Python RPA

 

E é interessante também entender os tipos de erros que podem acontecer com uma automação. Um erro pode estar relacionado a forma como o código foi desenvolvido, ou ao sistema que faz parte do processo que passou por alguma atualização e precisa de outras formas de acesso ou de transferência de dados, entre muitos outros.

 

Como registrar erros para monitoramento no BotCity Orquestrador

Para criar o registro do erro no seu robô, você precisa se conectar ao BotCity Orquestrador e, para que isso aconteça, você deverá começar pela instalação do SDK. Isso pode variar de acordo com a linguagem de programação que estiver utilizando e para mais detalhes consulte a documentação. Neste exemplo, vamos utilizar Python.

No seu terminal, execute o seguinte comando:

pip install botcity-maestro-sdk

E lembre-se de adicionar ao arquivo requirements.txt a dependência da nova biblioteca instalada, por exemplo:

botcity-maestro-sdk>=0.3.3,<1.0

Após isso, faça a importação da biblioteca no seu código:

from botcity.maestro import *

E adicione os seguintes comandos:

# Desabilitando erros caso não exista conexão com o Maestro
BotMaestroSDK.RAISE_NOT_CONNECTED = False

# Instanciando o Maestro SDK
maestro = BotMaestroSDK.from_sys_args()
# Buscando os detalhes da tarefa atual sendo executada
execution = maestro.get_execution()

É uma boa prática que seu código esteja dentro de uma estrutura de try/catch ou try/except, dependendo da linguagem de programação. Isso significa que o que estiver dentro do try, tentará ser executado e, caso aconteça alguma exceção, será direcionado ao bloco de código do except.

 

Para você criar um registro de um erro, adicione o seguinte trecho de código:

    except Exception as ex:
       maestro.error(
            task_id=execution.task_id, 
            exception=ex
        )

Você também pode configurar para erros diferentes, por exemplo: ZeroDivisionError, ImportError, entre tantos outros. Ou até mesmo criar exceções customizadas se necessário. Isso pode ser uma boa prática para legibilidade do seu código e das regras de negócio que precisam ser atendidas no projeto.

 

Como verificar o erro pela tarefa

Caso você tenha feito a configuração acima, você pode acompanhar se algum erro aconteceu de algumas formas. A primeira delas seria dentro da própria tarefa. Na fila de tarefas, clique no ID da tarefa que deseja acompanhar.

Screenshot da tela Task Queue mostrando algumas tarefas que foram executadas e falharam e tem um filtro aplicado no nome da automação "BotRegistryProducts"

Dentro dela, uma das opções na parte superior da tela será “Errors”. Clique nela e será possível visualizar mais detalhes, caso algum erro tenha ocorrido.

Tela mostrando as informações ao clicar na aba "Errors" da tarefa

Clique no erro que quer entender mais detalhadamente e você terá novas informações sobre ele. Caso queira ainda mais informações, você pode clicar no botão identificado como “View”.

Screenshot da tela dos erros de uma tarefa específica com um dos erros expandido mostrando informações e o botão View mencionado no texto

Essa tela é bastante interessante por trazer em detalhes o que aconteceu com o erro, inclusive StackTrace, Tags, Arquivos e Screenshots, caso tenham sido configurados para serem adicionados. Veremos mais para frente como fazer isso.

Screenshot da tela mostrando um exemplo de erro TypeError e uma parte do stacktrace

Como verificar o erro pela tela “Errors”

Na categoria “Automation Control”, clique na opção “Errors” no menu da lateral esquerda do BotCity Orquestrador. Dessa forma você terá acesso aos erros.Verifique os filtros para facilitar que encontre o que está sendo analisado. Por exemplo: ID da tarefa, repositório, nome da automação e período.

Screenshot da tela Errors

Identifique o erro que precisa ser analisado, clique para que seja expandido e clique no botão “View”:

Screenshot da tela errors com o erro de exemplo FileNotFoundError expandido

Assim você também terá mais detalhes sobre o que aconteceu para que analise de maneira efetiva o que precisa ser feito e onde está o erro especificamente.

Screenshot da tela Error FileNotFoundError mostrando Stacktrace

 

Como receber notificações dos erros no e-mail

Os erros configurados da maneira como mostramos neste artigo e em nossa documentação sobre erros podem ser notificados por e-mail. Para ativar essa opção, clique no seu nome no canto superior direito e escolha a opção “Profile”. Após isso, clique na opção “Notifications” do menu da lateral esquerda. Você terá algumas opções para receber a notificação e uma delas estará identificada como “New error event”.

Screenshot da tela Notifications mostrando a opção "new error event" ativada

Essa possibilidade facilita bastante o gerenciamento da automação e a comunicação do time para que seja visto de maneira rápida o que aconteceu e qual foi a automação afetada. E para acessar a tela, basta clicar nas opções de links disponibilizadas neste mesmo e-mail.

Screenshot do e-mail recebido mostrando as informações do erro

Outras configurações de erro

Além das orientações passadas, como mencionamos, você também pode ter um screenshot da tela quando o erro acontecer e anexar arquivos relacionados ao erro caso seja necessário. Essas informações são parâmetros a mais na função. Acompanhe a seguir como adicioná-los.

 

Como adicionar captura de tela para analisar o erro

Você precisará acrescentar o parâmetro “screenshot” na função “error”. Abaixo temos um exemplo:

try:
    div = 0 / 0
except Exception as error:
    file_path = '/home/test/screenshot.png'
    maestro.error(
        task_id=task.id, 
        exception=error, 
        screenshot=file_path
    )

Como adicionar anexos para analisar o erro

Você precisará acrescentar o parâmetro “attachments” na função “error”. Abaixo temos um exemplo:

try:
    div = 0 / 0
except Exception as error:
    attachments_files = ['/home/test/error.png', '/home/test/test.txt']
    maestro.error(
        task_id=task.id, 
        exception=error, 
        attachments=attachments_files
    )

Como testar a funcionalidade

Para fazer na prática tudo o que informamos, você pode criar a sua conta gratuita, seguir o passo a passo e aproveitar para testar no seu caso de uso esse gerenciamento de erros. E participe da nossa comunidade para troca de experiências sobre o universo da automação RPA.

She/her. I am a Tech Writer and Developer Relations at BotCity. I am also a tech content creator who loves tech communities and people.

Deixe uma resposta

Descubra mais sobre Blog BotCity | Content for RPA and Hyperautomation

Assine agora mesmo para continuar lendo e ter acesso ao arquivo completo.

Continue reading