当前位置: 首页 > 知识库问答 >
问题:

Googlr PubSub请求消息即使被确认?

伊飞光
2023-03-14
subscriber = pubsub_v1.SubscriberClient(credentials=credentials)
subscriber.create_subscription(name=subscription_name,topic=topic_name, ack_deadline_seconds=60)
subscriber = pubsub_v1.SubscriberClient()
subscription_path = subscriber.subscription_path(project_id, subscription_id)
future = subscriber.subscribe(subscription_path, callback=callback())

with subscriber:
    try:
        future.result()
    except TimeoutError:
        future.cancel()

def callback(msg):
    my_logic(msg)
    msg.ack()

尽管我在回调结束时承认我错过了发行者的前600条消息(订阅已经存在)。我不认为他们收到了,但由于最小化的日志记录,我无法确认。不管怎样,我需要恢复这些信息。

我读到这一页:

不幸的是,我的订阅没有设置RETAIN_ACKED_MESSAGES=true

我有两个问题:

>

  • 找回这些丢失的消息最简单的方法是什么?我知道他们会发生的时间。是否可以指示服务使用时间戳重播它们?

    对于将来的问题,我的订阅有什么变化吗?我应该在启动时创建快照吗?

  • 暂时还没有答案

     类似资料:
    • 问题内容: 我已经编写了一个函数,希望在提交表单之前显示确认消息。我应该如何添加我的条件。下面是我的代码。 问题答案: 解决方案是使用ajax属性。 beforeSend是发送之前的请求前回调函数.beforeSend函数中返回false将取消请求。 AJAX

    • 问题内容: 在我的应用程序中,我在一个子域(dev.u413.com)上有一个网站,并且我使用jQuery向另一个子域(api.u413.com)的JSON api提出了ajax请求。当我在Chrome开发工具和Firefox Firebug中检查请求时,似乎阻止了我的请求。我设置为当前域的后缀:。 这是我的要求: 如果我将ajax请求修改为在同一域中,则请求成功。 为什么会这样?浏览器不应该抱怨

    • 我试图写一个请求从我的服务器获取消息在使用签名,消息看起来像这样, POST/134148934511/Localhost/?Action=ReceiveMessage 但我收到了一条错误消息(尽管我拥有所需的权限)。(我确信aws版本4的签名过程是正确的(通过S3检查))我做错了什么?

    • 我想执行重新发布的GET请求。响应包含一个对象列表,这些对象又具有即时属性。 当前我遇到一个异常: com.fasterxml.jackson.databind.exc.InvalidFormatException:无法反序列化类型从字符串"2022-03-08T20:53:02.990":无法反序列化java.time.Instant:(java.time.format.DateTimePars

    • 我是rabbitmq新手,正在尝试以下场景 -- 如果逻辑失败-重新排队 -- 我已经使用SpringRabbitTemplate实现了基本发送器 对于消费者,我实现了一个消息侦听器 并通过Spring将其添加到容器中 直到这部分工作正常。 现在,如果侦听器中提到的**我自己的逻辑**失败。我想重新询问这个消息。我如何实现这一点。从我浏览过的博客来看,似乎需要覆盖returnedMessage。但

    • 我使用下面的代码发出http请求,但当抛出异常时,我无法获取每个字段的错误消息。在postman中,它确实显示了正确的错误消息: 它只是显示消息“” 然而,在《邮递员》中,它显示: