使用Node.js处理消费消息后,如何将确认发送到AWS MQ?

时间:2018-07-15 12:29:58

标签: node.js amazon-web-services amqp

当我处理消费消息时,我需要向AWS MQ发送确认。

以下是我的情况:

我已经使用amqp10 npm模块从AWS MQ消耗了消息,然后需要处理消息并将处理后的输出发送到另一个队列。此后,我需要向原始消息队列发送确认,以便可以使用消耗的消息从队列中删除。

因为,我需要处理我的消息,这需要一些时间,并且直到那时我都不想打开我的MQ连接,所以一旦消息被消耗掉,我就关闭了连接,但是一旦我所有的工作都完成了,我就需要发送确认消息到队列中完成。

虽然我可以使用下面的无效代码,但是可以使用receive.accept(message)将确认发送到队列。

下面是我的代码:

  let sendAcknowledgementToOrcidPipeline = function(messageId) {
      let client = new AMQPClient(Policy.Utils.RenewOnSettle(1, 1, 
Policy.ServiceBusQueue));
      let connectionString = 'your_connection_string'
      client.connect(connectionString, {
              'saslMechanism': 'ANONYMOUS'
          })
          .then(function() {
              console.log("Connected");
              return Promise.all([

client.createReceiver(configurationHolder.config.getMessageQueueName)
              ]);
          })
          .spread(function(receiver) {
              receiver.accept(messageId);
          });
  };

我无法确定我做错了什么。谁能帮我这个忙。

谢谢

0 个答案:

没有答案