首页 > 解决方案 > firebase 云功能-发布/订阅触发器-要执行的发布和订阅者功能之间的延迟是多少

问题描述

用例:
我有一个处理传入松弛消息的 webhook。我必须在 300 毫秒内以 200 OK 状态响应该 webhook,否则它将重试再次点击我的 webhook。

webhook 基本上是一个 http firebase 云功能。我必须立即处理传入的 webhook,没有任何延迟。尽管我返回了 200OK 状态,但大多数时候处理将超过 300 毫秒,这会导致我的 webhook 多次点击。

到目前为止,我所做的是立即将传入的 webhook 的有效负载保存到 firestore 集合并处理文档的 onCreate 中的处理。但是 onCreate 需要几秒钟才能被触发,这在我们的案例中是不可接受的。我不确定这是否是因为冷启动。

我想看看我是否可以为此使用 pub/sub 触发器。以下是我的疑惑

  1. 发布到主题需要多少时间
  2. 在我发布到主题并且订阅者功能开始执行之后有多少延迟。如果这与 onCreate 具有相同的延迟,那么这将不起作用。

如果这不起作用,最好的方法是什么?

标签: firebasegoogle-cloud-firestoregoogle-cloud-functionsgoogle-cloud-pubsub

解决方案


云任务的响应速度非常快。我已经使用它们再次调用服务器来处理耗时的任务,例如将用户提交给用户的内容上传到云存储或任何 CDN 之类的东西。

您实际上可以设置 Google 任务应触发的持续时间。将它与云计算一起使用,触发几乎是瞬时的。在云函数中,最坏的情况是冷启动,但如果您经常调用它们,这种情况应该很少见。只需将云任务的超时设置为 0,它就会立即调用您的函数。但同样,有时云计算可能是比云函数更好的选择。


推荐阅读