Node.js가 1,500개 이상의 Excel 행을 대량 처리할 때 멈추지 않게 만든 방법
How I Stopped Node.js from Freezing While Bulk-Processing 1,500+ Excel Rows

TL;DR AI
1분핵심 요약
Node.js 엑셀 대량 import가 1,500명의 학생 데이터를 한 번의 순차 루프로 처리하다가 앱을 과부하시키는 문제가 발견됐다.
기존 흐름은 bcrypt 해싱, Postgres 저장, SMTP 이메일 발송을 한 번에 묶어 처리해 타임아웃과 커넥션 압박을 유발했다.
해결책은 DB 쓰기를 하나의 트랜잭션 안에 두고, 각 행마다 SAVEPOINT를 사용해 부분 롤백이 가능하게 한 것이다.
이메일 작업은 import 중 수집만 해두고 트랜잭션 종료 후에 발송해, 느린 외부 작업과 DB 트랜잭션을 분리했다.
