0

Google Cloud Functions 中的 ContextVar 和 Global Var 之间有区别吗?

我注意到,当 Google 尝试重用 GCF 实例时,一些全局变量类从一个 GCF 调用重用到另一个 GCF 调用,而不是在每个 GCF 调用开始时初始化。我需要每个全局 var 类对于每个 GCF 调用都是唯一的。

每个 GCF 调用的 ContextVars 是唯一的吗?

目前我将这些全局变量分配给 None 并在之后重新初始化以确保每个类的新初始化

4

1 回答 1

0

我假设你有你的云函数,一个 HTTP 云函数。(与后台功能相同,仅用于我的示例)。

现在,测试您的 HTTP 云函数:创建一个网络服务器(例如使用烧瓶,因为您似乎在 Python 中)。

启动您的网络服务器。


那是为了上下文。现在我的解释:

  • 创建 Cloud Functions 时,平台会在您创建它时运行 Web 服务器(烧瓶)。
  • 当一个请求进来时,网络服务器得到它并调用“函数”来处理它(即云函数)。

因此,Cloud Functions 上的 GlobalVars 和 ContextVars 的生命周期与本地网络服务器中的生命周期完全相同。没有神奇/奇怪的东西。

更有用的,你可以在本地测试这个,更快更简单!

于 2021-02-25T21:48:50.443 回答