首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NestJS Nats消息ack

NestJS Nats消息ack
EN

Stack Overflow用户
提问于 2021-12-11 18:29:07
回答 1查看 468关注 0票数 1

如果我在NestJS应用程序中使用NATS进行异步通信,是否有一种手动确认消息的方法?这是非常常见的用例,在完成服务处理后消息被确认。如果消息未被确认,服务器将需要重新传递(就像旧NATS流库中的一样)。

代码语言:javascript
复制
@EventPattern({ cmd: 'user:create' })
async createUser(@Payload() user: UserDto, @Ctx() context: NatsContext) {
  await this.emailsService.sendWelcomeEmail(user)
  // need to manually acknowledge the message here but the docs do not provide a way to do so.
}
EN

回答 1

Stack Overflow用户

发布于 2022-02-07 18:09:34

当使用nats流https://www.npmjs.com/package/@nestjs-plugins/nestjs-nats-streaming-transport

代码语言:javascript
复制
@EventPattern(Patterns.UserCreated)
  public async stationCreatedHandler(@Payload() data: { id: number, name: string }, @Ctx() context: NatsStreamingContext) {
    console.log(`received message: ${JSON.stringify(data)}`)
    context.message.ack()
  }

//setup 
    {
        durableName: 'user-queue-group',
        manualAckMode: true,
        deliverAllAvailable: true,
      } /* TransportSubscriptionOptions */ ,
    ),
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70317945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档