我目前正在为Web和iOS开发一个应用程序,并且在Web端,我在Javascript中有很多逻辑来改变我拥有的Firestore数据库。我想我可以将此逻辑移到多个云函数中,这样我就可以从Web和iOS客户端调用它们,而只需要在nodeJS中编写一次逻辑,而不用一次用Javascript为Web应用程序编写一次相同的逻辑。适用于Swift中的iOS应用。我已经使用云功能来工作和更新数据库,但是问题是启动时间很短。我的网页上有UI元素,用于监视Firestore数据库中的更新,并在发生更改时进行更改。在进行这些更改之前,必须立即进行这些更改,但是现在使用Cloud Functions,我必须等待冷启动完成,然后才能更新数据库,从而更新UI。这导致它看起来好像UI不会立即对输入做出反应。
我想转移到云功能,所以我只需要编写一次逻辑,但这是一个用例吗? (实时更新UI元素)。尝试设置一项cron作业来保持ping功能使它们始终处于活动状态是否值得?由于我的死亡似乎很快,我如何在冷启动后增加“激活时间”功能?解决此问题有任何一般性提示或技巧吗?
谢谢大家。
答案 0 :(得分:0)
您无法有效控制Cloud Functions的冷启动行为。这是您必须接受的折衷方案。
您唯一可以有效执行的操作是在函数的全局范围内最小化工作量,并在必要时将其移至每个函数中。这会导致每种功能都有其自己的冷启动行为,这种情况不会在所有功能之间共享或重复。