피드로 돌아가기
... existing fields ...
Dev.toDev.to
DevOps

Staging Layer 도입 및 Timezone 최적화로 콘텐츠 파이프라인 안정성 확보

... existing fields ...

Roberto Luna2026년 6월 24일6intermediate

Context

Flat directory 기반의 단순 API 전송 구조로 인해 API Rate Limit 발생 및 데이터 정합성 문제가 지속됨. UTC 기준의 GitHub Actions 스케줄링으로 인한 지역 시간대 불일치와 단일 워크플로우의 강한 결합도가 시스템 병목으로 작용함.

Technical Solution

  • API 직접 전송 방식에서 Craft Docs를 Staging Layer로 활용하는 구조로 변경하여 파이프라인 취약성 제거
  • monolithic publish 함수를 platform-agnostic document creator로 리팩토링하여 플랫폼별 확장성 확보
  • ContentBundle dataclass에 devto_en 등 플랫폼별 필드를 추가하여 데이터 구조 정형화
  • 단일 워크플로우를 플랫폼별 개별 .yml 파일로 분리하여 장애 격리(Fault Isolation) 구현
  • GitHub Actions cron 설정에 지역 시간대(CDT UTC-6) 명시 및 settings.yml에 Timezone 설정으로 스케줄링 정확도 향상
  • 네트워크 에러 격리를 위해 post_to_craft_api 함수를 분리하여 Fail-fast 메커니즘 적용

- 외부 API 전송 전 Staging Layer를 두어 수동 검토 단계 및 버퍼 확보 여부 검토 - 분산된 워크플로우 설계 시 플랫폼별로 독립적인 파이프라인을 구성하여 부분 장애가 전체 시스템으로 전이되는 것을 방지 - 글로벌 인프라 설정 시 UTC 기준 시간과 로컬 시간대 간의 매핑 관계를 코드 및 설정 파일에 명시적으로 기록

원문 읽기