안녕하세요 @realmankwon 입니다.
node.js 에서 DB 라이브러리는 sequelize를 사용하고 있습니다.
트랜잭션 처리도 아주 잘 되어서 지금까지 애용하고 있습니다.
그런데 어제 변경한 부분이 잘 처리가 되지 않았습니다.
계속 timeout 이 걸리면서 실행이 되지 않았습니다.
의심이 가는 부분은 await Promise.all( functions ) 에서 호출한 functions 함수 배열 내부에 transaction 인 듯 하였습니다.
transaction 을 걷어내니 실행이 되었습니다.
그렇다면 promise 로 인한 대기 개수가 많아지면 안 되나 싶어서 함수 배열의 개수를 1개씩 추가하면서 실행해 보았습니다.
결과는 4개까지는 처리가 되고 5개부터 처리가 되지 않았습니다.
sequelize 설정의 문제인지 Mysql 자체의 문제인지 파악은 되지 않지만 일단 4개씩 실행이 되도록 소스를 수정하였습니다.
이런 부분은 겪어보지 않으면 알 수 없는 문제이긴 하네요.
관련해서 내용을 좀 더 찾아봐야겠습니다.
그래도 아침에 문제를 해결하게 되어서 다행이네요.