You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
El repositorio incluye un archivo `example.py` que demuestra cómo procesar múltiples fronteras de manera eficiente usando concurrencia. Este ejemplo es útil para:
253
+
254
+
-**Procesamiento masivo de fronteras**: Consulta múltiples fronteras en paralelo
255
+
-**Manejo de errores**: Implementa reintentos automáticos y reportes de fronteras fallidas
256
+
-**Generación de reportes**: Crea archivos Excel con matrices horarias de consumo
257
+
-**Monitoreo de progreso**: Muestra el avance del procesamiento cada 500 fronteras
258
+
259
+
### Características del ejemplo:
260
+
261
+
- 🚀 **Concurrencia**: Usa ThreadPoolExecutor para procesar múltiples fronteras simultáneamente
262
+
- 🔄 **Reintentos**: Implementa backoff exponencial para manejar errores de red
263
+
- 📊 **Progreso visual**: Muestra estadísticas de avance durante la ejecución
264
+
- 📈 **Salida estructurada**: Genera matrices Excel organizadas por hora, día, mes y año
265
+
- ⚠️ **Manejo de errores**: Reporta fronteras fallidas para análisis posterior
266
+
267
+
### Uso del ejemplo:
268
+
269
+
1.**Configurar variables de entorno** (como se describe arriba)
270
+
2.**Crear archivo de fronteras**: `frt_prueba.txt` con una frontera por línea
271
+
3.**Ejecutar el script**:
272
+
```bash
273
+
python example.py
274
+
```
275
+
276
+
### Archivos generados:
277
+
278
+
-`Matrices_YYYYMMDD_HHMM.xlsx` - Datos principales organizados por matrices horarias
279
+
-`fronteras_fallidas_YYYYMMDD_HHMM.txt` - Lista de fronteras que no se pudieron procesar
280
+
281
+
### Configuración recomendada para producción:
282
+
283
+
Para ambientes de producción o consultas masivas, ajusta estos parámetros en el ejemplo:
284
+
285
+
-**max_workers**: Reduce de 30 a 5-10 para evitar saturar el servidor
286
+
-**Timeouts**: Usa connection_timeout=20 y read_timeout=120 como mínimo
287
+
-**Intervalos de tiempo**: Limita los rangos de fechas para consultas más eficientes
288
+
289
+
El archivo `example.py` sirve como base para desarrollar tus propios scripts de procesamiento masivo de datos de enerBit DSO.
0 commit comments