【问题标题】:GCP Pub/Sub invoking Cloud Function twiceGCP Pub/Sub 调用 Cloud Function 两次
【发布时间】:2019-11-03 07:34:31
【问题描述】:

我有一个订阅主题的 Google Cloud 函数。当需要向用户发送电子邮件时,我们的 Go API 会向主题发布消息。 GCF 创建电子邮件对象并将其发送到 Sendgrid。 问题在于 90% 的情况下,云函数会被调用两次。

订阅的确认截止日期为 600 秒,并在 GCF 内部确认的文档中明确说明。

我了解 PubSub 保证 at-least-once 交付和 GCF at-least-once 执行后台功能。但是,这种情况在大多数情况下都会发生,我很确定这也不对。

我 100% 确定不是我们的 API 发送了 2 条消息。即使我从 GCP 控制台手动发布消息进行测试,云功能也会运行两次。

所以execution_id 是一样的。两次执行都需要不到 1 秒的时间。

所以我不确定发生了什么,谁应对这种重复负责?

我猜是 GCF 看到两个执行都具有相同的 ID?

有人对如何解决这个问题有任何想法吗?

【问题讨论】:

  • This answer 可能会解释发生了什么,但我真的不知道如何将此解决方案应用于我的 Pub/Sub 设置。

标签: google-cloud-platform google-cloud-functions google-cloud-pubsub


【解决方案1】:

我遇到了几乎相同的情况。我通过删除 Cloud Functions 的条目和 Cloud Pub/Sub 的订阅来修复它,然后重新创建它们。到目前为止,它似乎工作正常。

【讨论】:

    猜你喜欢
    • 2022-01-13
    • 2022-01-01
    • 2019-07-07
    • 2016-11-30
    • 2019-07-08
    • 2019-08-18
    • 2018-09-29
    • 2021-12-31
    • 1970-01-01
    相关资源
    最近更新 更多