Ir para o conteúdo

BeaPro Framework

O BeaPro (BotCity Enterprise Automation Process) é um framework de automação pronto para produção, construído sobre o BotCity, que oferece gerenciamento de estado, tratamento estruturado de erros e integração com o BotCity Orchestrator.

Ele já vem com toda a estrutura necessária em funcionamento, e a integração com o BotCity Orchestrator é tratada para você, para que você possa focar na lógica de automação em si.

Funcionalidades

  • Gerenciamento de Estado: Rastreamento integrado de contagens de sucesso/erro e status de execução
  • Tratamento Estruturado de Exceções: Tratamento automático de exceções de negócio, exceções de sistema e solicitações de interrupção
  • Logging Padrão: Logging em arquivo e no BotCity Orchestrator com timestamps
  • Múltiplas Fontes de Dados: Suporte a arquivos CSV e BotCity Datapools
  • Relatório de Erros: Captura de screenshots e reporte de erros ao BotCity Orchestrator
  • Finalização Graciosa: Limpeza automática, upload de arquivos de resultado e conclusão de tarefas
  • Capacidade de Reinicialização: Recuperação de exceções de sistema com reinicialização automática
  • Estrutura Flexível: Todos os arquivos do framework estão na pasta framework/, deixando espaço para seus próprios arquivos e módulos

Estrutura do Projeto

BeaPro/
├── bot.py                      # Orquestrador principal da automação
├── framework/                  # Módulos principais do framework
│   ├── state.py               # Gerenciamento de estado e configuração do BotCity SDK
│   ├── exceptions.py          # Classes de exceção personalizadas
│   ├── datasources.py         # Implementações de fontes de dados (CSV, Datapool)
│   ├── process.py             # Lógica principal de automação
│   ├── initialize.py          # Inicialização e configuração
│   ├── finalize.py            # Limpeza e finalização
│   ├── status_handling.py     # Handlers de exceção e sucesso
│   └── logger.py              # Configuração de logging
├── build/                      # Scripts de build
│   └── build.bat               # Cria o arquivo .zip para implantação
├── requirements.txt           # Pacotes necessários
├── .env                        # Variáveis de ambiente para testes locais
├── output/                     # Logs e arquivos de resultado gerados
└── temp/                       # Arquivos temporários (screenshots, etc.)

Fluxo de Tratamento de Exceções

Para cada item:
  ├─ Tenta: process_item(item)
  │   ├─ Sucesso → register_success()
  │   └─ Exceção:
  │       ├─ InterruptException → handle_interrupt_requested() → PARA
  │       ├─ BusinessException → handle_business_exception() → CONTINUA
  │       └─ SystemException  → handle_system_exception() → REINICIA → CONTINUA
  └─ Próximo item