Ir para o conteúdo

Lab 2.9: Reportando erro ao Orquestrador

A gestão de erros é parte essencial do desenvolvimento de qualquer aplicativo, e com automações isso não é diferente.

Através do código do robô podemos tratar e registrar os erros/exceções que acontecem durante a execução de nosso processo.

error-view

Código

Com os parâmetros configurados no Orquestrador, a possibilidade de erros por digitação de canais inválidos ou indisponíveis é alta.

Para reportar quando um erro ocorre durante a execução, vamos utilizar o método error() quando cair em uma exceção, assim o erro será registrado no Orquestrador, permitindo o monitoramento e análise posterior.

except Exception as ex:
    logging.error(f"Erro ao coletar dados do canal {canal}: {ex}")

    canais_falha += 1  # Incrementa contador de falha

    # Salvando captura de tela do erro
    bot.save_screenshot("erro.png")

    # Dicionario de tags adicionais
    tags = {"canal": canal}

    # Registrando o erro
    maestro.error(
        task_id=execution.task_id,
        exception=ex,
        screenshot="erro.png",
        tags=tags
    )

Informação

Você pode usar integrações do Orquestrador combinadas, por exemplo, incluindo um alerta de erro logo após o registro do erro:

maestro.alert(
        task_id=execution.task_id,
        title="BotYoutube - Erro",
        message=f"Erro ao coletar dados do canal {canal}: {ex}",
        alert_type=AlertType.ERROR
    )

Dica

No bloco de erros, podemos customizar as informações que serão enviadas, como captura de tela, anexos e tags. Saiba mais na documentação da BotCity.

Resultado

Ao criar uma nova tarefa, inclua o seguinte parâmetro incorreto para simular um erro na execução:

botcity_br,github,botcity-failed

Ao executar a tarefa, o canal botcity-failed não existe, o que causará um erro na automação.

erro erro erro