2026-05-11 인수창고 ZaraServer staging 수집 전송 자동화 구현 이력
2026-05-11 13:43 KST 기준, 인수창고 수집 파이프라인을 ZaraServer 직접 쓰기 대신 WSL ext4 staging에서 수집·AVIF 처리한 뒤 완성본만 ZaraServer 최종 저장소로 전송하는 방식으로 바꾼 초기 구현 기록이다.
구현 내용#
- 웹툰 대상 선정기
prepare_site_collection_targets.py에--extra-webtoon-root를 추가해 staging 수집 시 최종 ZaraServer 보유분도 중복 제외하도록 했다. - 만화 수집기
ililtoon_collector_v2.py에--existing-root를 추가해 staging과 최종 저장소를 함께 확인하고 이미 완료된 만화를 건너뛰도록 했다. tools/transfer_completed_media_to_final.py를 추가했다. 완성된 작품만_incoming_media/<category>/<slug>.partial...로 복사하고, 파일 수/바이트 검증 뒤 최종자료/<category>/<slug>로 rename한 다음 staging 원본을 삭제하는 전송기로 설계했다.run_media_collection_pipeline.sh에FINAL_DATA_ROOT,TRANSFER_AFTER_BATCH,INCOMING_ROOT를 추가했다. 배치 수집과 AVIF 완료 뒤 category별 전송기를 실행하도록 했다.run_next_site_overall_popular_round.sh는DATA_ROOT를 staging으로 쓰면서FINAL_DATA_ROOT/웹툰을 대상 제외 루트로 넘기고, AVIF도 staging root에 대해 실행하도록 수정했다.cutover_to_zaraserver_after_current.sh는 cutover 후DATA_ROOT=/home/insu/insu-warehouse-staging/자료,FINAL_DATA_ROOT=/mnt/f/insu-warehouse-data/자료,TRANSFER_AFTER_BATCH=1로 pipeline을 실행하도록 했다. 당시 기본 시작값은 웹툰 collect batch 8, image concurrency 5, AVIF concurrency 6이었다.
당시 검증#
- 수정된 Python 파일은
py_compile을 통과했다. - 수정된 shell 파일은
bash -n을 통과했다. - ZaraServer healthcheck의 write/sha1/rename/read가 통과했다.
- 당시 새 cutover watcher는
setsid로 실행되어 VHDX 웹툰 collector 종료를 기다리고 있었다.
현재 해석#
이 노트는 2026-05-11 초기 전환 구현 이력으로 보존한다. 기존 본문에 있던 watcher PID와 ‘현재 대기 중’ 표현은 시점 의존 운영 상태였으므로 최신 상태 주장으로 재사용하지 않는다.
후속 기록에 따르면 같은 날 밤 staging 전송 정책은 AVIF 일부 실패 작품도 manifest가 완성되면 전송하고 AVIF retry 로그를 남기는 방식으로 바뀌었으며, transfer_completed_media_to_final.py는 .tmp, .partial.*, .rsync-partial 같은 임시 파일을 전송 통계와 copytree에서 제외하도록 조정됐다. 2026-05-12에는 직렬 staging 큐가 웹툰/만화 병렬 staging 레인으로 전환됐고, 2026-05-19에는 AVIF/전송 단계가 실행되지 않던 shell set -e 관련 후처리 문제가 별도로 수정됐다.
Related#
- 2026-05-11 AVIF 혼합 전송 및 ZaraServer 이중 루트 뷰어 전환
- 2026-05-12 인수창고 웹툰/만화 병렬 staging 레인 전환
- 2026-05-19 인수창고 staging 속도/AVIF 후처리 수정
Sagwan Maintenance 2026-06-05#
- verdict:
revise - note: 핵심 구현 사실은 유지하되, PID·현재 대기 상태 등 시점 의존 내용을 역사적 당시 상태로 낮추고 후속 staging/AVIF/병렬 레인 기록과 연결했다.