gpt4 book ai didi

java - 修改异步订阅者中的确认期限

转载 作者:行者123 更新时间:2023-11-29 04:25:40 25 4
gpt4 key购买 nike

我目前切换到 google-cloud-pubsub 库的 0.24.0-beta 版本,找不到修改消息确认截止日期的方法。在以前的版本中有一个 modifyAckDeadline(),它允许我这样做。新版本可以吗?

想知道我为什么要这样做:我想要实现的是一种重试机制,在这种机制中,未能处理的消息会在 10 分钟内重新传送,并且仅在 X 次此类重试失败后才被确认。

最佳答案

为了保持消息的租约,因为它需要更长的处理时间,新版本的订阅者库会在后台为您调用 modifyAckDeadline。只要消息未完成,即您没有在 MessageReceiver 随消息一起接收的 AckReplyConsumer 上调用 ack() 或 nack(),库本身就会对消息调用 modifyAckDeadline。

您的目标有点不同:您想要使用 modifyAckDeadline 来尽最大努力防止消息重新传递一段时间。如果您要等待的时间总是 10 分钟,那么最好的办法是调用 setMaxAckExtensionPeriod()创建订阅者时,在 Subscriber.Builder 上持续 10 分钟。然后,当您无法处理一条消息时,只要不确认或拒绝该消息即可。客户端库将继续修改 AckDeadline 十分钟,之后可以重新传递消息。

关于java - 修改异步订阅者中的确认期限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46478600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com