【问题标题】:Google CloudFunctions: ContextVar vs Global VarGoogle CloudFunctions:ContextVar 与 Global Var
【发布时间】:2021-02-25 19:24:03
【问题描述】:

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

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

每个 GCF 调用的 ContextVar 是否唯一?

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

【问题讨论】:

    标签: python google-cloud-functions python-3.7 python-contextvars


    【解决方案1】:

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

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

    启动您的网络服务器。


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

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

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

    比较好用,你可以在本地测试这个,更快更简单!

    【讨论】:

      猜你喜欢
      • 2013-04-11
      • 1970-01-01
      • 2021-02-12
      • 2016-08-20
      • 1970-01-01
      • 1970-01-01
      • 2022-10-25
      • 1970-01-01
      相关资源
      最近更新 更多