google firebase 触发器一次只能接收一次 google pub/sub 消息吗

Can google firebase trigger receive google pub/sub message only once at the time

我目前在做一个同步第三方数据的项目,我决定实现队列来确保消息已经被worker接收到,但是worker此时只需要做一个任务,也就是上一个任务应该在执行下一个之前完成并确认。

所以问题是,我如何配置 firebase pub/sub 触发器来一个一个地执行任务?。 如果我对 google pub/sub 的概念有误解,请随时告诉我:)

您可以使用 gcloud 命令行工具的 MAX-INSTANCES 标志控制 Cloud Functions 的实例数。有关完整详细信息,请参阅 Using max instances 上的文档。

适用于 Cloud Functions 的 Firebase SDK 不包含此选项(目前)。但您可以使用 Firebase CLI 部署该功能,然后按照 Clearing max instances limits.

中显示的步骤更改云控制台中的设置

您尝试执行的操作与 pubsub 函数的工作方式并不兼容。还有其他Google云产品可以帮助您限制某些代码的调用率,但不会用pubsub类型的功能来实现。

GCP 提供了一个名为 Cloud Tasks, which lets you set up a queue that can be configured with a rate limit. The queue can dispatch a task invocation to App Engine, or to an HTTP type Cloud Function (beta). 的产品,因此,如果您已经部署了一个 HTTP 函数,您可以使用它的端点 URL 来配置一个 Cloud Tasks 队列,该队列每次只调用一次该函数时间.