【问题标题】:how to bypass firebase functions cold start如何绕过firebase功能冷启动
【发布时间】:2021-07-16 02:13:30
【问题描述】:

我正在使用 firebase Stripe API,发生的情况是我的应用还没有大量流量,而且暂时不会。 Firebase 决定,在 2-3 分钟没有调用该函数后,它进入冷启动模式。这很不幸,因为这意味着我从新用户点击注册到结帐页面的等待时间,大概是 8 秒。太可怕了!

无论如何,有没有人知道解决这个问题的方法,也许设置一个脚本始终在后台运行,或者我可以在 firebase 内部做些什么?

【问题讨论】:

    标签: javascript reactjs firebase google-cloud-firestore stripe-payments


    【解决方案1】:

    一种帮助方法是向云函数添加“冷启动”命令(即“无操作”调用/调用),并在您的用户开始结帐过程时调用它(在收集任何信息之前) .如果用户未完成结帐,则不伤害不犯规;如果他们,则云功能已经启动。

    2020-01-01 更新: Firebase 现在允许您在控制台中为每个函数指定最小(和/或最大)调用次数 - 即将函数保存在内存中。单个活动功能每月花费大约 0.33 到 0.50 美元 - 保持冷启动的成本相当低(但不是零)......

    【讨论】:

    • 听起来很有趣。有没有办法从 Firebase 控制台内部执行此操作?
    • 不,我们在这里讨论的是 code - your 代码和 Cloud Function 代码。它 你的代码,对吧?
    • 在您的云函数(Stripe 函数)的代码中,您可以添加某种类型的参数,但实际上它并没有 任何事情。在您的客户端代码(无论是 Web 还是移动)中,您使用刚刚描述的 No-Op 参数插入对 Cloud Function 的调用。该调用将启动 Cloud Function,并将其留在内存中。您的用户将需要一些时间来完成结帐;然后客户端代码对已经“冷启动”的云函数进行“真正的”调用。
    • 这并没有消除冷启动;它只是在您的用户忙于做其他事情时隐藏它 - 以额外调用您的函数为代价。
    猜你喜欢
    • 2020-12-23
    • 2021-06-23
    • 1970-01-01
    • 1970-01-01
    • 2019-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多