본문 바로가기
Automation Tool/n8n Project

Sense Stock, D+19

by 그때 그때 끄적 2025. 7. 22.

📅 Sense Stock 개발 일지 (2025-07-15)

n8n, 사용자 질의 기반 경제/시장/주식 분석 자동화 파이프라인 구축 중 진행한 작업들을 정리합니다.

오늘은 n8n 기반으로 수집한 Market Data를 Google Sheet에서 불러오는 대신, 로컬 파일로 저장 후 참조하는 구조를 설계했습니다.

 

지난번에는 전체 데이터를 어떤 구조로 분류하고, 어떤 시트에 저장할지를 중심으로 정리했었다.
이번엔 그 데이터를 GPT가 실시간으로 어떻게 참조할 수 있을까?에 집중했다.

 

Google Sheet에 데이터를 저장하는 건 편리하다.
하지만 불특정 다수의 사용자가 GPT를 통해 데이터를 참조하게 될 경우,
Google Sheet API를 계속 호출해야 하고, 그건 Rate Limit에 바로 걸린다.

실제로 여러 번 겪어봤다. 데이터가 쌓이면 쌓일수록 API 호출이 많아지고, 속도도 느려지고, 불안정해진다.
그래서 생각한 게 캐시(Cache) 구조다.

 

이번엔 실제로 Redis 같은 캐시 시스템을 구축하진 않았고,
우선은 로컬 파일 저장 → 그 파일을 GPT가 참조하는 구조로 설계해보기로 했다.

 

🧱 Workflow 구조

Sense Stock Market Data Daily Workflow

🗂 데이터 흐름 정리

1. Daily Economic / Earning 데이터

  • 매일 어제 기준으로 크롤링 → 저장
  • 월요일이면 어제가 일요일이기 때문에 데이터 없음 → 에러 무시 처리, 추후 if 노드 활용
  • Daily Sheet 따로 만들지 않고, 기존 ThisWeek 시트에 계속 업데이트
  • 업데이트 매칭 기준:
    • Economic: 이벤트명
    • Earning: 회사명

2. 데이터 저장 & 참조 구조

  • 수집된 데이터를 Google Sheet로 정리한 뒤, 로컬 폴더에 CSV로 저장
    • 예시 경로:
      • market_data/Sector_S&P500/S&P500_Daily.csv
      • market_data/Economic/Economic_ThisWeek.csv
    • 저장은 Read/Write Disk Node를 통해 수행(아래 내용 확인 )
더보기

Docker로 n8n Self 호스팅으로 작업하는 경우 해당 노드(Read/Write Disk)로
파일에 접근할때, 접근 권한 Error가 발생할 수 있다. 
👀

🔒 Docker 환경에서 파일 접근 문제

n8n의 Docker 환경에서는 보안상 특정 경로 외에는 파일을 읽을 수 없다.
이를 해결하려면 환경변수를 반드시 지정해줘야 한다.

## .n8n 디렉토리와 사용자 정의 구성 파일에 대한 모든 파일 접근을 차단(True, Default)
* N8N_BLOCK_FILE_ACCESS_TO_N8N_FILES=False

## 지정경로에 있는 파일 접근 제한
* N8N_RESTRICT_FILE_ACCESS_TO= 지정경로

## 지정경로는 보통은 아래와 같을거다
- home/node/.n8n

이후 

docker-compose.yml 파일이 있는 경로로 이동후
docker-compose down
docker-compose up -d

 

접근 권한 관련 Error가 나면 환경변수를 설정해주자!!!

+ "N8N_RESTRICT_FILE_ACCESS_TO" 의 경우,

: (클론)으로 나눠서 두개 폴더에만 접근가능하게 해봤는데, 접근 권환 Error가 났다.

분명 클론으로 여러 파일을 지정할 수 있다고하는데... 

폴더는 하나만 지정되는건가..?? 혹시라도 여러 폴더를 사용하고싶다면 폴더하나를 지정하고,

거기 안에서만 사용하도록만들자.

 

N8N_RESTRICT_FILE_ACCESS_TO  환경변수는 설정한 경로를 제한하는 것이다.(내용 수정)

파일 접근 권한을 사용할려면, N8N_BLOCK_FILE_ACCESS_TO_N8N_FILES을 false를 해주면 되겠다.

 

공식문서: https://n8n-docs.infograb.net/hosting/configuration/environment-variables/security/

 

n8n 공식 기술 문서 한글판 by 인포그랩

인포그랩에서 OpenAI 기술 기반으로 자체 개발한 자동화 번역 프로그램을 통해 n8n 공식 문서의 한글판을 국내 최초로 제공합니다.

n8n-docs.infograb.net

🧠 진행 중 고민한 점들

🔹 아직 해결 안된 Daily Data 크롤링 실패 문제

  • 종종 데이터를 못 긁어오는 경우가 생김
  • 정확히 어떤 조건에서 실패하는지 분석 필요
  • 우선적으로는 실패시 무시 -> Retry 활성화

노드 -> Setting -> Retry On Fail 활성화

🔹 최종적으로는 Redis 또는 Supabase 등으로 확장할 계획

  • 지금은 임시 구조지만, 향후 사용자 수가 많아지면 TTL 기반 캐시로 전환이 불가피할 것

 

이제 Local에 취합한 데이터들을 저장하고, 그걸 기반으로 안정적으로 참조할 수 있는 흐름을 만들 수 있을 것 같다.

근데 이 작업이 생각보다 오래 걸렸다. 자꾸만 생각이 많아져서 한 발짝 내딛는 것도 쉽지 않았다.

데이터라는 게 단순히 "쌓는다"로 끝나는 게 아니구나. 어떻게 저장하고, 어떻게 꺼내 쓰고, 언제 갱신하는지까지 다 얽혀 있다.
진짜, 하나 건드리면 열 가지가 딸려오는 구조였다. 이렇게까지 복잡할 줄은 몰랐다. 모든 게 연결돼 있다는 걸 실감했다.

생각할게 너무 많아서 버거울 정도다.... 혼자는 외롭ㄷ🥴

 

❓ 다음 단계에서 고민 중인 것들

  • 최종 응답을 검토하면서, 이제는 데이터를 더 많이 모으는 운영 단계로 넘어가야 할 것 같다.

'Automation Tool > n8n Project' 카테고리의 다른 글

Sense Stock, D+21  (4) 2025.08.04
Sense Stock, D+20  (3) 2025.07.28
Sense Stock, D+18  (0) 2025.07.15
Sense Stock, D+17  (0) 2025.07.11
Sense Stock, D+16  (3) 2025.07.09

댓글