FastAPI에서 APScheduler로 주기 작업 구현하기

백그라운드에서 일정 간격으로 도는 작업(주기 수집, 정리 배치 등)이 필요할 때, 별도의 크론 서버 없이 FastAPI 앱 안에서 처리하는 방법을 정리합니다. 실제 운영 중인 유튜브 쇼츠 자동화 서버에서 트렌드 수집을 주기적으로 돌리는 코드를 기준으로 설명합니다. 이 글의 가정: FastAPI 앱이…

백그라운드에서 일정 간격으로 도는 작업(주기 수집, 정리 배치 등)이 필요할 때, 별도의 크론 서버 없이 FastAPI 앱 안에서 처리하는 방법을 정리합니다. 실제 운영 중인 유튜브 쇼츠 자동화 서버에서 트렌드 수집을 주기적으로 돌리는 코드를 기준으로 설명합니다. 이 글의 가정: FastAPI 앱이…

유튜브 쇼츠를 직접 촬영하지 않고 Python으로 자동 생성하는 시스템을 실제로 운영하고 있다. UGREEN DXP4800PLUS NAS에서 YouTube API로 트렌드 데이터를 수집하고, 성장률 분석 → 주제 선정 → 대본 생성 → 음성 합성 → 영상 합성까지 자동으로 처리한다. 현재 약 1,100개 영상…

YouTube 쇼츠 트렌드를 분석하면서 깨달은 게 있다. 조회수 자체는 별로 의미가 없다는 것이다. 조회수 100만짜리 영상도 6개월 전에 터진 거라면 지금 트렌드가 아니다. 반면 조회수 5,000인 영상이 어제 올라와서 24시간 만에 5,000이 찍혔다면 지금 뜨는 영상이다. 그래서 조회수 대신 성장률을…

UGREEN DXP4800PLUS NAS에서 FastAPI 기반 쇼츠 트렌드 수집 시스템을 운영하고 있다. 현재 DB에는 영상 700개 이상, 스냅샷 40,000개 이상이 쌓여 있고, 30분마다 자동으로 수집·저장이 돌아간다. 이 구조를 만들면서 FastAPI와 PostgreSQL 연동에서 막혔던 부분들을 정리한다. 단순한 예제 코드가 아니라 Docker Compose…

처음에는 단순히 유튜브 쇼츠 트렌드를 수집하려고 했다. 그런데 데이터를 저장할 DB가 필요했고, 자동화 워크플로가 필요했고, TTS가 필요했고, 컨테이너 관리가 필요했다. 하나를 해결하면 다음 문제가 보였다. 결국 하나의 AI 자동화 시스템으로 발전했다. 이 글은 UGREEN DXP4800PLUS NAS 위에서 실제로 운영 중인…

매일 아침 정책자금 공고를 직접 찾아보는 게 번거로웠다. 기업마당(bizinfo.go.kr)에 매일 새로운 공고가 올라오는데 일일이 확인하기가 쉽지 않았다. n8n으로 자동화하면 되겠다는 생각에 워크플로를 만들었다. 결과적으로 매일 오전 9시에 새로운 정책자금 공고가 Telegram으로 자동 발송되는 시스템이 완성됐다. 이 글에서는 UGREEN DXP4800PLUS NAS에서…

유튜브 쇼츠 트렌드 수집 시스템을 만들면서 YouTube Data API 쿼터가 예상보다 훨씬 빠르게 소진됐다. 하루 10,000유닛이면 충분하다고 생각했는데 글로벌 AI 키워드 수집을 추가하자마자 쿼터 부족 오류가 발생했다. 로그를 분석해보니 원인은 명확했다. search.list를 과도하게 사용하고 있었다. search.list와 videos.list는 같은 YouTube Data…

Docker Compose에서 depends_on을 설정했는데도 FastAPI 컨테이너가 PostgreSQL 연결에 실패했다. 분명히 postgres가 먼저 시작되도록 설정했는데 왜 이런 문제가 발생한 걸까? 로그를 보니 이런 오류가 찍혀 있었다. could not connect to server: Connection refused Is the server running on host “postgres” and…

Docker로 PostgreSQL을 운영하다가 한 번쯤은 이런 상황을 겪게 된다. 컨테이너를 재생성했더니 데이터베이스가 텅 비어 있었다. 처음에는 PostgreSQL 자체 문제인 줄 알았다. 로그를 확인하고 설정을 점검했지만 이상이 없었다. 원인은 Docker 볼륨 설정이었다. UGREEN DXP4800PLUS NAS에서 쇼츠 자동화 시스템과 트레이딩 봇을 운영하면서…

유튜브 쇼츠 자동화 시스템을 구축하면서 TTS 엔진 선택이 생각보다 큰 고민이었다. ElevenLabs는 품질이 좋지만 비용이 발생한다. OpenAI TTS도 마찬가지다. 무료로 쓸 수 있으면서 한국어 품질이 괜찮은 걸 찾다가 Edge-TTS를 선택했다. Microsoft Edge 브라우저의 음성 합성 기술을 무료로 사용할 수…