Ajjoona's Tech Blog

[둥지] Celery Beat 도입기: 워커 크래시로 고착된 태스크를 자동으로 정리하기

워커 크래시/오프라인으로 PENDING·PROCESSING에 고착된 Celery 태스크를 자동으로 FAILED로 정리하기 위해 Celery Beat를 도입한 과정을 정리합니다. 워커 생존 감지 방법(Redis TTL vs PostgreSQL)과 stale 판정 기준을 중심으로 의사결정 근거를 기록합니다.

Preview Image

[둥지] 문서 발급 상태 동기화 문제: localStorage 타이머에서 서버 기반 폴링으로

비동기 문서 발급 완료 상태를 프론트에 동기화하지 못해 무한 스피너가 발생한 문제를 분석하고, localStorage 타이머 우회책의 한계를 짚은 뒤 폴링·pending_since·celery beat 세 방안을 단계적으로 적용한 과정을 정리합니다.

[허수아비] Spark 자원 분배로 인한 메모리 부족 문제 해결

spark-radar-stream이 리소스를 할당받지 못해 15초 간격으로 경고를 반복하는 문제가 발생했습니다. 코어 독식과 메모리 고갈 두 원인을 분석하고, spark.cores.max 설정과 잡별 메모리 할당으로 4개 Spark job이 워커 3GB 내에서 공존하도록 해결한 과정을 정리합니다.