Sobre el proyecto
Dotflow es una biblioteca ligera de Python para construir pipelines de ejecución. Los usuarios definen tareas mediante el decorador @action, las encadenan con DotFlow.task.add() y ejecutan el flujo de trabajo llamando a start(). Cuenta con funciones de resiliencia integradas que incluyen reintentos, tiempo de espera, retroceso exponencial y reanudación basada en puntos de control para flujos de trabajo fallidos. Admite cuatro modos de ejecución listos para usar: secuencial (predeterminado), en segundo plano (hilo no bloqueante), paralelo (todas las tareas se ejecutan simultáneamente) y grupos paralelos (los grupos se ejecutan en paralelo mientras las tareas dentro de un grupo se ejecutan de forma secuencial).
La biblioteca ofrece integraciones de observabilidad integradas con OpenTelemetry (trazas, métricas, registros estructurados) y Sentry (seguimiento de errores, monitoreo de rendimiento). Incluye un sistema de proveedores enchufables para almacenamiento (en memoria por defecto, sistema de archivos, AWS S3, Google Cloud Storage), notificaciones (Telegram, Discord), programación (cron con estrategias de superposición como omitir, encolar, paralelo) e informes de servidor remoto. También admite funciones de tareas asíncronas, definiciones de pasos basadas en clases, callbacks de tareas y flujos de trabajo, y manejo de errores configurable (detenerse en el primer fallo o continuar ejecutando las tareas restantes).
Dotflow proporciona una CLI para ejecutar, programar y gestionar flujos de trabajo sin escribir código adicional, y admite despliegue con un solo comando a más de 34 plataformas en la nube incluyendo AWS Lambda, AWS ECS Fargate, Google Cloud Run, Alibaba Cloud Function Compute, Kubernetes, Docker y GitHub Actions. Los usuarios pueden ampliar su funcionalidad implementando proveedores personalizados para almacenamiento, registro, trazado, métricas y otras capacidades mediante clases base abstractas.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.