프로젝트 소개
Dotflow는 실행 파이프라인 구축을 위한 경량 Python 라이브러리입니다. 사용자는 @action 데코레이터를 통해 작업을 정의하고, DotFlow.task.add()로 연결한 뒤 start()를 호출하여 워크플로우를 실행합니다. 재시도, 타임아웃, 지수 백오프, 체크포인트 기반 재개 등 내장 강화 기능을 제공합니다. 실패한 워크플로우의 경우 체크포인트를 활용한 중단점부터 재개가 가능합니다.
네 가지 기본 실행 모드를 지원합니다: 순차(default), 백그라운드(논블로킹 스레드), 병렬(모든 작업 동시 실행), 병렬 그룹(그룹 간 병렬, 그룹 내 작업 순차). OpenTelemetry(트레이스, 메트릭, 구조화된 로그)와 Sentry(에러 추적, 성능 모니터링)에 대한 내장 관찰 가능성 통합을 제공합니다. 저장소(기본 인메모리, 파일 시스템, AWS S3, Google Cloud Storage), 알림(Telegram, Discord), 스케줄링(cron 및 중복 전략: 스킵, 큐, 병렬), 원격 서버 리포팅 등을 위한 플러그가능 제공자 시스템을 포함합니다. 비동기 작업 함수, 클래스 기반 단계 정의, 작업 및 워크플로우 콜백, 구성 가능한 에러 처리(첫 번째 실패 시 중단 또는 나머지 작업 계속 실행)도 지원합니다.
Dotflow는 추가 코드 작성 없이 워크플로우 실행, 스케줄링, 관리를 위한 CLI를 제공하며, AWS Lambda, AWS ECS Fargate, Google Cloud Run, Alibaba Cloud Function Compute, Kubernetes, Docker, GitHub Actions 등 34개 이상의 클라우드 플랫폼에 원커맨드 배포를 지원합니다. 추상 기본 클래스를 통해 저장소, 로깅, 트레이싱, 메트릭 등 사용자 정의 제공자를 구현하여 기능을 확장할 수 있습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.