이전 목록

Node.js가 1,500개 이상의 Excel 행을 대량 처리할 때 멈추지 않게 만든 방법

How I Stopped Node.js from Freezing While Bulk-Processing 1,500+ Excel Rows

TL;DR AI

핵심 요약

1분
  1. Node.js 엑셀 대량 import가 1,500명의 학생 데이터를 한 번의 순차 루프로 처리하다가 앱을 과부하시키는 문제가 발견됐다.

  2. 기존 흐름은 bcrypt 해싱, Postgres 저장, SMTP 이메일 발송을 한 번에 묶어 처리해 타임아웃과 커넥션 압박을 유발했다.

  3. 해결책은 DB 쓰기를 하나의 트랜잭션 안에 두고, 각 행마다 SAVEPOINT를 사용해 부분 롤백이 가능하게 한 것이다.

  4. 이메일 작업은 import 중 수집만 해두고 트랜잭션 종료 후에 발송해, 느린 외부 작업과 DB 트랜잭션을 분리했다.

원문 보기