피드로 돌아가기
Flowfile v0.8.0 — Your Flows Can Run Themselves Now
Dev.toDev.to
Backend

Flowfile v0.8.0 — Your Flows Can Run Themselves Now

Flowfile v0.8.0이 내장 스케줄러와 테이블 트리거를 추가해 외부 오케스트레이션 도구 없이 데이터 파이프라인 자동화 가능

Edwardvaneechoud2026년 3월 26일8intermediate

Context

Flowfile은 기존에 시각적으로 파이프라인을 설계하는 도구였지만, 설계한 흐름을 실제로 실행하려면 cron, Airflow, 또는 셸 스크립트 같은 외부 오케스트레이션 계층을 별도로 구성해야 했다.

Technical Solution

  • 내장 스케줄러 추가: 데스크톱 앱 또는 pip install 환경에서는 Flowfile 프로세스 내부에서 스케줄러 실행, flowfile run flowfile_scheduler 명령으로 독립 백그라운드 서비스로 실행 가능, Docker 환경에서는 FLOWFILE_SCHEDULER_ENABLED=true 환경 변수 설정으로 활성화
  • 테이블 트리거 구현: 단일 테이블 새로고침 시 흐름 실행(Table trigger), 테이블 집합의 모든 테이블이 새로고침될 때까지 대기 후 실행(Table set trigger), 흐름이 읽지 않는 테이블 변경 시에도 실행 가능(Unrestricted table trigger)
  • 스케줄러 고가용성 설계: 데이터베이스 기반 어드바이저리 락과 하트비트를 사용해 한 번에 하나의 스케줄러 인스턴스만 실행, 스케줄러 장애 시 90초 후 다른 인스턴스가 인수 가능
  • 흐름 실행 제어: 동일 흐름의 활성 실행은 최대 1개로 제한(새로운 트리거 무시), 카탈로그에서 "Run Flow" 버튼으로 즉시 실행 가능, SIGTERM을 통한 실행 중인 흐름 취소 기능 제공
  • 실행 이력 및 로깅: 활성 실행 배너를 카탈로그 상단에 표시해 실행 상태·시작 시간 확인 가능, 실행 로그를 ~/.flowfile/logs/ 경로에 기록

Key Takeaway

데이터 파이프라인 스케줄링에서 "언제 실행할 것인가"에 대한 결정을 시간 기반에서 데이터 의존성 기반으로 전환하면, 조율 로직 없이 흐름 간 자동 체이닝이 가능해진다는 설계 원칙을 보여준다.


경량 데이터 플랫폼에서 3~5개의 파이프라인을 데이터 의존성 기반으로 자동화해야 하는 팀은, 테이블 세트 트리거를 사용해 복수 소스 테이블의 동시 완료 후에만 보고 흐름을 실행하도록 구성하면 재시도 로직이나 순차 스케줄링 + 대기 시간 설정을 제거할 수 있다.

원문 읽기