python - AWS Lambda:一次执行的变量值被保留并供后续运行使用
问题描述
我有一个问题 aws lambda python。我在 lambda 层中定义了一个变量,当我们对该代码进行多次调用时,一次执行的变量值将被保留并供后续运行使用。
有没有办法让每个 lambda 执行来重置所有变量,而不是使用之前运行的任何变量值。
解决方案
我怀疑这与 Lambda 层无关,而与容器重用(Lambda 的一个性能特征)有关。在处理程序函数之外声明的任何内容都将在热重启后持续存在。
有关更多信息,请参阅AWS Lambda 执行上下文。
测试冷/热启动和重置环境的一种可能方法如下:
import json
import logging
cache = {}
cold_start = True
def handler(event, context):
global cold_start
if cold_start:
print("Cold start")
cold_start = False
else:
print("Warm start, reset cache")
cache = {}
# do work here
cache['name'] = 'Jason'
cache['age'] = 27
推荐阅读
- c++ - VSCode - 有红色下划线,但程序构建和运行正确,并且调试错误
- nginx - nginx - 如何读取位置指令中的文件?
- node.js - 以编程方式创建 Mongodb Atlas 触发器 | 节点
- r - 根据 R 中今天的值更改未来的所有值
- javascript - 作为道具传递时箭头函数未定义
- javascript - 获取嵌套对象中元素的所有父级
- hikaricp - Springboot hikari JDBC连接池缓存设置
- image - 图像和文字并排
- javascript - React 扩展类中的方法可以完成吗
- c++ - 在混合代码库中将 C 转换为 C++ 时出现许多包含错误