Saltar a contenido

Framework BeaPro

BeaPro (BotCity Enterprise Automation Process) es un framework de automatización listo para producción, construido sobre BotCity, que proporciona gestión de estado, manejo estructurado de errores e integración con BotCity Orchestrator.

Ya viene con toda la estructura necesaria en funcionamiento, y la integración con BotCity Orchestrator está resuelta para que puedas concentrarte en la lógica de automatización en sí.

Funcionalidades

  • Gestión de Estado: Seguimiento integrado de conteos de éxito/error y estado de ejecución
  • Manejo Estructurado de Excepciones: Manejo automático de excepciones de negocio, excepciones de sistema y solicitudes de interrupción
  • Registro por Defecto: Registro en archivo y en BotCity Orchestrator con marcas de tiempo
  • Múltiples Fuentes de Datos: Soporte para archivos CSV y BotCity Datapools
  • Reporte de Errores: Captura de pantallas e informes de errores al BotCity Orchestrator
  • Finalización Elegante: Limpieza automática, carga de archivos de resultado y finalización de tareas
  • Capacidad de Reinicio: Recuperación de excepciones de sistema con reinicio automático
  • Estructura Flexible: Todos los archivos del framework están en la carpeta framework/, dejando espacio para tus propios archivos y módulos

Estructura del Proyecto

BeaPro/
├── bot.py                      # Orquestador principal de la automatización
├── framework/                  # Módulos principales del framework
│   ├── state.py               # Gestión de estado y configuración del BotCity SDK
│   ├── exceptions.py          # Clases de excepción personalizadas
│   ├── datasources.py         # Implementaciones de fuentes de datos (CSV, Datapool)
│   ├── process.py             # Lógica principal de automatización
│   ├── initialize.py          # Inicialización y configuración
│   ├── finalize.py            # Limpieza y finalización
│   ├── status_handling.py     # Manejadores de excepciones y éxito
│   └── logger.py              # Configuración de registro
├── build/                      # Scripts de compilación
│   └── build.bat               # Crea el archivo .zip para despliegue
├── requirements.txt           # Paquetes requeridos
├── .env                        # Variables de entorno para pruebas locales
├── output/                     # Logs y archivos de resultado generados
└── temp/                       # Archivos temporales (capturas de pantalla, etc.)

Flujo de Manejo de Excepciones

Para cada elemento:
  ├─ Intenta: process_item(item)
  │   ├─ Éxito → register_success()
  │   └─ Excepción:
  │       ├─ InterruptException → handle_interrupt_requested() → DETIENE
  │       ├─ BusinessException → handle_business_exception() → CONTINÚA
  │       └─ SystemException  → handle_system_exception() → REINICIA → CONTINÚA
  └─ Siguiente elemento