如何延迟重发消息?

How to delay re-delivery message?

我正在使用 Cloud Pub/Sub

的异步拉取

目前,当我调用message.nack()方法时,它会立即重新发送此消息。

subscription.on('message', (message) => {
  message.nack();
})

如何延迟重新发送?

例如,我收到了 publishTime: '2019-05-28T10:24:31.055Z'

的消息

我想让这条消息在上次发送后 20 秒(计算)重新发送。

Cloud Pub/Sub 目前无法延迟消息的重新传递。当一条消息被拒绝时,它立即成为重新传递给同一订阅者或另一个订阅者的候选者。

您现在可以在云 Pub/Sub 订阅中配置重试策略。重试策略允许用户在失败的情况下对每条消息进行指数退避。

可以找到更多信息 here