Sobre o projeto
Dotflow é uma biblioteca Python leve para criar pipelines de execução. Usuários definem tarefas via decorador @action, encadeiam-nas com DotFlow.task.add() e executam o fluxo chamando start(). Oferece resiliência integrada com retry, timeout, backoff exponencial e retoma por checkpoint para fluxos falhos. Suporta quatro modos de execução: sequencial (padrão), background (thread não-bloqueante), paralelo (todas as tarefas simultâneas) e grupos paralelos (grupos em paralelo, tarefas sequenciais dentro do grupo).
A biblioteca oferece integrações nativas de observabilidade com OpenTelemetry (traces, métricas, logs estruturados) e Sentry (rastreamento de erros, monitoramento de desempenho). Inclui sistema plugável de provedores para armazenamento (memória como padrão, filesystem, AWS S3, Google Cloud Storage), notificações (Telegram, Discord), agendamento (cron com estratégias de sobreposição: skip, queue, parallel) e relatórios remotos. Também suporta funções de tarefa assíncronas, definições de etapa baseadas em classe, callbacks de tarefa e workflow, e tratamento configurável de erros (parar no primeiro falho ou continuar as tarefas restantes).
Dotflow possui CLI para executar, agendar e gerenciar workflows sem escrever código adicional, e suporta deployment em um comando para 34+ plataformas incluindo AWS Lambda, AWS ECS Fargate, Google Cloud Run, Alibaba Cloud Function Compute, Kubernetes, Docker e GitHub Actions. Usuários podem estender sua funcionalidade implementando provedores customizados para armazenamento, logging, tracing, métricas e outras capacidades via classes abstratas base.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.