Node.js / NestJS

Bull을 사용한 큐

Bull queues, processors, jobs, 지연된 jobs, 우선순위, retries, 이벤트

20 면접 질문·
Mid-Level
1

NestJS 맥락에서 Bull은 무엇인가요?

답변

Bull은 Redis 기반의 영속적인 큐(queues)를 관리하는 Node.js 라이브러리입니다. 백그라운드 작업을 비동기적으로 실행하고, 우선순위, retries, 지연된 jobs를 처리할 수 있습니다. NestJS는 @nestjs/bull 모듈을 제공하여 Bull을 프레임워크의 모듈식 아키텍처에 기본적으로 통합함으로써, workers 생성과 무겁거나 오래 실행되는 jobs 관리를 쉽게 만듭니다.

2

Bull에서 processor의 역할은 무엇인가요?

답변

processor는 queue의 jobs를 처리하는 함수입니다. job이 queue에 추가되면 Bull은 해당하는 processor를 자동으로 호출하여 비즈니스 로직을 실행합니다. processor는 job을 파라미터로 받으며 job.data를 통해 데이터에 접근할 수 있습니다. 동기식 또는 비동기식일 수 있으며, job 완료를 알리기 위해 값이나 Promise를 반환해야 합니다.

3

NestJS에서 Bull queue에 job을 추가하는 방법은 무엇인가요?

답변

job을 추가하려면 @InjectQueue('queueName')로 queue를 주입한 다음 add() 메서드를 사용합니다. 이 메서드는 선택적 파라미터로 job 이름, 처리할 데이터(payload), 그리고 delay, priority, attempts 같은 옵션을 받습니다. 메서드는 고유 ID를 가진 생성된 job을 포함하는 Promise를 반환하여, 나중에 추적하거나 조작할 수 있게 합니다.

4

Bull 아키텍처에서 Redis의 기능은 무엇인가요?

5

Bull에서 delayed job을 정의하는 방법은 무엇인가요?

+17 면접 질문

다음 면접을 위해 Node.js / NestJS을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기