• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

connection 여러개에 대하여

22.07.06 19:04 작성 조회수 160

0

현재 스케줄러를 사용해서 탈퇴된 계정을 오전 6시에 일괄적으로 처리하는 코드를 구현중입니다.

그래서 아래와같은 db와 커넥션을 맺는 함수(userLeaveRoom)를 스케줄러에 등록해서 사용하려고하는 중에 질문이 생겼습니다.

// 매일 6시 삭제된지 한달 지난 계정 삭제
@Cron('0 0 06 * * *', { name: 'initAccount' })
async initAccount() {
/ ... /
const promises = roomMembers.map((member) => this.roomsService.userLeaveRoom(member));
const results = await Promise.allSettled(promises);
}

이런식으로 사용할 경우에 순간적으로 커넥션을 많이 맺게되는데 이게 문제가 없을지 궁금합니다.

async userLeaveRoom(leaveMember: RoomMembers) {
const queryRunner = this.connection.createQueryRunner();
await queryRunner.connect();
await queryRunner.startTransaction();
try {
/.../
await queryRunner.commitTransaction();
} catch (err) {
await queryRunner.rollbackTransaction();
throw err;
} finally {
await queryRunner.release();
}
}

 

답변 1

답변을 작성해보세요.

0

커넥션풀에서 이미 맺어둔 쿼리를 꺼내서 쓰는 것이라 큰 문제는 없을 것으로 보입니다.