BullMQ는 Redis 기반의 Node.js 작업 큐입니다. 적합성을 판단할 때는 HTTP 응답 뒤에 완료해도 되며 추적이나 재시도가 필요한 작업부터 살펴봅니다.
큰 보고서를 생각해 봅시다. 요청 안에서 생성하면 사용자가 timeout까지 기다릴 수 있습니다. 큐를 사용하면 작업을 접수하고 작업 ID를 반환한 뒤 별도로 처리할 수 있습니다.
1. 큐로 옮기면 무엇이 달라지는지 봅니다
[User] -> [API: submit job] -> [Redis / BullMQ] -> [Worker]
| |
[Return job ID] [Saved report]
생산자는 작업을 제출하고 워커는 실행합니다. 사용자는 진행 상태를 확인하다 준비된 보고서를 내려받습니다.
