어제 한참을 삽질을 했습니다.
node js에서 rs.readFile 함수로, 30만개정도의 파일 일어서 S3로 보내는 작업을 했습니다.
그런데 중간에
Error: EMFILE: too many open files
위와 같은 오류가 났습니다.
그래서 해결 책을 열심히 찾았습니다.
보통은 fp 라고 하는데 node js 는 fd라고 한다는 것도 알게 되었고,
node js fs 패키지를 많이 사용하는데 fs.readFile함수를 이용했을 때 많은 파일을 열면 이렇게 나옵니다.
여기서 해결 방법은 출처에 있는 글 처럼
node js graceful-fs 패키지를 이용하면 됩니다.
fs=rqquire("fs")
를
fs=rqquire("graceful-fs")
로 변경하고 동일 하게 사용하면 저 오류가 안납니다.
감사합니다.
출처 : https://stackoverflow.com/questions/49672964/nodejs-too-many-open-files-causes-an-error