gpt4 book ai didi

mysql - 尽管抛出超时错误并且未解决回调,AWS Lambda 函数仍正常工作

转载 作者:行者123 更新时间:2023-11-29 17:00:42 25 4
gpt4 key购买 nike

我有一个 Lambda 函数,它接收来自 SNS 的消息,并使用自定义模块来查询外部数据库并将计算结果输出到数据库。该模块工作正常:Lambda 通过 VPC 访问互联网并成功连接到数据库并将所需数据输出到数据库,但我仍然收到错误“任务在 3.00 秒后超时”。该模块本身使用了sequelize、async/await 和promise。

我增加了最大超时,唯一的区别是错误消息中的秒数增加到超时限制。我尝试保留并发,但错误仍然存​​在。除了回调永远不会解析并产生超时错误之外,我的函数的每个部分都运行良好。我尝试过使用或不使用“context.callbackWaitsForEmptyEventLoop”语句来运行该函数,使用该语句运行它只会使代码在任何评级引擎函数完成之前返回。这是评级引擎代码:https://github.com/elizajanus/rating-engine-module

是否有可能数据库连接未在我的自定义模块内关闭并阻止代码完全完成导入的函数?或者可能是其他什么?此问题可能连接:https://github.com/sequelize/sequelize/issues/8468

const {RatingEngine} = require('./rating-engine');


exports.handler = (event, context, callback) => {
const message = event.Records[0].Sns.Message;
RatingEngine(message, message.d_customer_id,
message.d_total_distance_travelled);
callback(null, 'move record created in database');
};

最佳答案

@Eliza Janus,您可以使用 https://www.npmjs.com/package/lambda-local 在本地测试您的代码,这将帮助您更好地识别调试代码的问题。

关于mysql - 尽管抛出超时错误并且未解决回调,AWS Lambda 函数仍正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52282948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com