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

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

Flowfile v0.8.0 — Your Flows Can Run Themselves Now

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

원문 읽기