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_ROOTstaging에 수집하면서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로 실행되어 PID 853621 상태로 현재 VHDX 웹툰 collector PID 572275 종료를 기다리고 있다.
운영 의미:
현재 VHDX 수집과 VHDX→ZaraServer 복사/delta는 계속 진행된다. cutover가 끝나면 웹 링크는 ZaraServer를 보고, 이후 새 수집/인코딩은 WSL staging에서 처리된 뒤 완성본만 ZaraServer로 이동된다.
Sagwan Revalidation 2026-05-11T05:04:36Z#
- verdict:
refresh - note: PID·현재 대기 상태 등 운영 정보가 시점 의존적이라 재확인이 필요함
Sagwan Revalidation 2026-05-12T05:21:50Z#
- verdict:
refresh - note: PID와 cutover 대기 상태가 하루 지난 운영 정보라 최신 확인이 필요함
Sagwan Revalidation 2026-05-13T05:53:25Z#
- verdict:
refresh - note: PID와 현재 진행 상태가 시점 의존적이라 재검증·갱신이 필요함
Sagwan Revalidation 2026-05-14T06:00:08Z#
- verdict:
refresh - note: PID·대기 상태와 cutover 진행 현황이 시점 의존적이라 재확인 필요
Sagwan Revalidation 2026-05-15T06:07:54Z#
- verdict:
refresh - note: PID와 진행 상태 등 시점 의존 운영 정보가 포함되어 재확인이 필요함
Sagwan Revalidation 2026-05-16T06:43:48Z#
- verdict:
refresh - note: PID·현재 진행 상태가 시점 의존적이라 최신 운영 상태 재확인이 필요함
Sagwan Revalidation 2026-05-17T07:04:29Z#
- verdict:
refresh - note: PID와 현재 대기 상태가 시점 의존적이라 최신 운영 상태 재확인이 필요함
Sagwan Revalidation 2026-05-18T07:27:46Z#
- verdict:
refresh - note: PID와 진행 상태가 시점 의존적이라 현재 상태 재확인이 필요함
Sagwan Revalidation 2026-05-19T07:55:01Z#
- verdict:
refresh - note: PID와 진행 상태가 시점 의존적이라 현재 운영 상태 재확인이 필요함
Sagwan Revalidation 2026-05-20T08:17:04Z#
- verdict:
refresh - note: PID와 cutover 대기 상태가 시점 의존적이라 현재 상태 재확인이 필요함
Sagwan Revalidation 2026-05-21T08:20:13Z#
- verdict:
refresh - note: PID·현재 대기 상태 등 시점 의존 운영 정보가 오래되어 재확인 필요
Sagwan Revalidation 2026-05-22T08:45:51Z#
- verdict:
refresh - note: PID와 현재 대기 상태 등 시점 의존 운영 정보가 포함되어 재확인이 필요함
Sagwan Revalidation 2026-05-23T09:05:32Z#
- verdict:
refresh - note: PID와 진행 상태가 시점 의존적이라 현재 상태 재확인이 필요함
Sagwan Revalidation 2026-05-24T09:16:14Z#
- verdict:
refresh - note: PID와 “현재 진행” 상태가 시점 의존적이라 최신 운영 상태 재확인이 필요함
Sagwan Revalidation 2026-05-25T09:53:51Z#
- verdict:
refresh - note: PID·대기 상태와 cutover 진행 여부가 시점 의존적이라 재확인 필요
Sagwan Revalidation 2026-05-26T10:09:29Z#
- verdict:
refresh - note: PID·현재 진행 상태가 시점 의존적이라 재검증/갱신 필요
Sagwan Revalidation 2026-05-27T11:04:14Z#
- verdict:
ok - note: [chatgpt 오류] The read operation timed out
Sagwan Revalidation 2026-05-28T11:41:00Z#
- verdict:
refresh - note: PID·대기 상태와 cutover 진행 여부가 시점 의존적이라 재확인 필요
Sagwan Revalidation 2026-05-29T12:09:55Z#
- verdict:
refresh - note: PID·대기 상태와 cutover 진행 현황이 시점 의존적이라 재확인 필요
Sagwan Revalidation 2026-05-30T12:38:16Z#
- verdict:
refresh - note: PID·현재 대기 상태와 cutover 진행 설명이 시점 의존적이라 재확인 필요
Sagwan Revalidation 2026-05-31T13:14:10Z#
- verdict:
refresh - note: PID·대기 상태와 cutover 진행 상황이 시점 의존적이라 재확인이 필요함
Sagwan Revalidation 2026-06-01T15:31:41Z#
- verdict:
refresh - note: PID·대기 상태와 현재 운영 전제가 시점 의존적이라 재확인이 필요함
Sagwan Revalidation 2026-06-02T19:52:47Z#
- verdict:
refresh - note: PID와 진행 상태 등 시점 의존 운영 정보가 포함되어 재검증 필요
Sagwan Revalidation 2026-06-03T20:56:17Z#
- verdict:
refresh - note: PID와 현재 대기 상태 등 시점 의존 운영 정보가 여전히 포함됨
Sagwan Revalidation 2026-06-04T21:32:02Z#
- verdict:
refresh - note: PID와 cutover 대기 상태가 시점 의존적이라 최신 운영 상태 재확인이 필요함