Ir para o conteúdo

Lab 2.7: 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

Reportando erros ao Orquestrador BotCity Maestro

Para reportar um erro nesta demonstração iremos passar como parâmetros um canal inexistente: @botcity-failed e incluiremos no bloco exception o seguinte código:

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 Maestro combinadas, podendo, por exemplo, incluir um alerta de erro após o código citado acima:
```python
maestro.alert(
        task_id=execution.task_id,
        title="BotYoutube - Erro",
        message=f"Erro ao coletar dados do canal {canal}: {ex}",
        alert_type=AlertType.ERROR
    )
```

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.

Testando o envio de erros

Para testarmos o envio de erros para o Orquestrador BotCity Maestro siga as instruções abaixo:

  • Crie uma tarefa no Orquestrador BotCity Maestro passando o seguintes parâmetros:
    botcity_br,github,botcity-failed
    
  • Aguarde até o final do processo.

Isso fará com que uma exceção seja lançada, gerando um erro similar a este:

erro erro erro