메인 콘텐츠로 건너뛰기
Header
큐는 비동기 작업을 수행할 수 있게 합니다. 이들은 회원 가입 시 환영 이메일 보내기와 같은 백그라운드 작업을 수행하는 데 사용될 수 있습니다. 각 사용 사례는 MessageQueueServiceBase로부터 확장된 자체 큐 클래스를 가집니다. 현재, 큐 드라이버로 bull-mqbull-mq만 지원합니다.

새 큐를 생성하고 사용하는 단계

  1. 새 큐에 대한 큐 이름을 열거형 MESSAGE_QUEUES에 추가합니다.
  2. 큐 이름을 종속성 토큰으로 하여 큐의 팩토리 구현을 제공합니다.
  3. 생성한 큐를 큐 이름을 종속성 토큰으로 하여 필요한 모듈/서비스에 주입합니다.
  4. Add worker class with token based injection just like producer.

사용 예시

class Resolver {
  constructor(@Inject(MESSAGE_QUEUES.custom) private queue: MessageQueueService) {}

  async onSomeAction() {
    //business logic
    await this.queue.add(someData);
  }
}

//async worker
class CustomWorker {
  constructor(@Inject(MESSAGE_QUEUES.custom) private queue: MessageQueueService) {
    this.initWorker();
  }

  async initWorker() {
    await this.queue.work(async ({ id, data }) => {
      //worker logic
    });
  }
}