首页 文章

Firebase:如何在客户端更改数据库时唤醒App Engine?

提问于
浏览
0

我在App Engine上运行后端应用程序(仍在免费计划中),它支持Firebase实时数据库设置中的客户端移动应用程序 . 当客户端对数据库进行更改时,我需要我的后端来检查该更改,并可能计算一些输出 .

我可以让我的App Engine实例保持清醒并一直监听Firebase端口,等待数据库中任何地方的更改,但这会使我的实例保持全天候醒来并且不支持负载 balancer .

在我切换到Firebase之前,我的客户端会通过发送他们想要执行的更改的REST请求来手动唤醒后端 . 现在,Firebase允许客户端直接进行更改,我希望他们不需要发出手动请求 . 我可以继续从客户端发出请求,但该解决方案不会很健壮,因为如果由于某种原因请求未通过而无法通知服务器,并且用户在成功之前关闭了客户端发送请求 . Firebase有自己的机制来保留更改,但我的请求需要类似的机制 . 我希望有一个比这更简单的解决方案 .

有没有办法让Firebase自动生成请求并在更改数据库时唤醒我的App Engine?

3 回答

  • 1

    Firebase目前不支持webhooks .

    看看https://github.com/holic/firebase-webhooks

  • 2

    来自Listening to real-time events from a web browser

    将事件发回App Engine App Engine当前不支持双向流HTTP连接 . 如果客户端需要更新服务器,则必须发送显式HTTP请求 .

    替代方案并不能帮助您,因为它不适合免费配额 . 但无论如何它在这里 . 来自Configuring the App Engine backend to use manual scaling

    要在App Engine标准环境中使用Firebase,您必须使用手动缩放 . 这是因为Firebase使用后台线程来侦听更改,而App Engine标准环境仅允许在手动扩展的后端实例上使用长期后台线程 .

  • 0

    看看新的(beta)firebase Cloud 功能 . 使用它,您可以运行node.js代码,预处理并在数据库事件上调用您的appengine .

    https://firebase.google.com/docs/functions/

相关问题