amazon-web-services - 有没有办法在代码级别捕获 AWS lambda 超时错误?
问题描述
有什么方法可以AWS lambda timed out
在代码级别捕获错误,以便我有机会在退出lambda
函数之前处理错误?
解决方案
虽然 lambda 环境不会触发“超时”事件,但您可以自己轻松完成此操作。
每种语言都有一个由context
对象公开的函数,以获取以毫秒为单位的剩余时间。
您可以将它与您使用的任何语言的计时器功能结合使用,以确保您在超时之前得到通知。
例如(节点):
function handler(event, context, callback) {
const timer = setTimeout(() => {
console.log("oh no i'm going to timeout in 3 seconds!");
// &c.
}, context.getRemainingTimeInMillis() - 3 * 1000);
try {
// rest of code...
} finally {
clearTimeout(timer);
}
callback(null, result);
}
推荐阅读
- javascript - 从 JSON 动态生成具有不同列的二维数组
- python - 矢量化操作以在 Python 中根据数据框中的不同条件创建多个新列
- java - 来自 Rest Api 超时异常的 Spark Scala HTTP 响应
- gcc - 带有注释和包含(但未扩展)的 GCC 预处理器输出
- sql - 如何编写这个 many_to_many ActiveRecord 查询?
- python - 在 scikit learn using networkX 中使用二维数据点形成图形
- reactjs - 错误:不变量失败:浏览器历史记录需要 DOM reactjs
- python - 使用python访问JSON文件中的属性并按属性过滤项目
- html - 修复背景图像附件后,覆盖滚动不可点击
- python - OpenCV 在循环中随机崩溃