firebase - firebase 云功能-发布/订阅触发器-要执行的发布和订阅者功能之间的延迟是多少
问题描述
用例:
我有一个处理传入松弛消息的 webhook。我必须在 300 毫秒内以 200 OK 状态响应该 webhook,否则它将重试再次点击我的 webhook。
webhook 基本上是一个 http firebase 云功能。我必须立即处理传入的 webhook,没有任何延迟。尽管我返回了 200OK 状态,但大多数时候处理将超过 300 毫秒,这会导致我的 webhook 多次点击。
到目前为止,我所做的是立即将传入的 webhook 的有效负载保存到 firestore 集合并处理文档的 onCreate 中的处理。但是 onCreate 需要几秒钟才能被触发,这在我们的案例中是不可接受的。我不确定这是否是因为冷启动。
我想看看我是否可以为此使用 pub/sub 触发器。以下是我的疑惑
- 发布到主题需要多少时间
- 在我发布到主题并且订阅者功能开始执行之后有多少延迟。如果这与 onCreate 具有相同的延迟,那么这将不起作用。
如果这不起作用,最好的方法是什么?
解决方案
云任务的响应速度非常快。我已经使用它们再次调用服务器来处理耗时的任务,例如将用户提交给用户的内容上传到云存储或任何 CDN 之类的东西。
您实际上可以设置 Google 任务应触发的持续时间。将它与云计算一起使用,触发几乎是瞬时的。在云函数中,最坏的情况是冷启动,但如果您经常调用它们,这种情况应该很少见。只需将云任务的超时设置为 0,它就会立即调用您的函数。但同样,有时云计算可能是比云函数更好的选择。
推荐阅读
- xamarin - 如何将垂直滚动添加到 Xamarin Forms 中的标签?
- sql - 可以使用 SYSDATE 广告的 SQL 确定性函数仍然被索引吗?
- node.js - Node.js 和 Mongoose - Cast to date 值失败(过滤 created_at 日期)
- git - 找出与确定的行代码有关的提交 - Git Extensions OR Visual Studio
- apache-zookeeper - 警告“可能的客户端已关闭套接字”后,giraph 仅在大图上失败
- .htaccess - 添加letsencrypt异常htaccess
- angular - 普瑞蒙
: 排序包含'-'的数据 - firebase - 使用 Firebase Admin SDK 更新用户时超出配额 - 我如何请求更多?
- python - 矩形的 QGraphicsItem 交互式调整大小
- java - 尝试在 appDataFolder 中获取文件列表时出现 GoogleAuthIOException