gpt4 book ai didi

node.js - 获取任务在 59.05 秒后超时 aws lambda nodejs

转载 作者:太空宇宙 更新时间:2023-11-04 01:44:29 25 4
gpt4 key购买 nike

我正在尝试在 aws lambda 支持的 Node 8.10 中编写 lambda 函数 这是引用我之前的question

我正在尝试 node async/await ,当我在本地运行它时,相同的代码可以工作(甚至不需要一秒钟来获取响应),但是当我在 lambda 中尝试它时出现超时错误,这里代码控制正在进入 Promise 并使用正确的 url 打印 url urltohit 但在卡住之后,尝试了不同的方法,例如增加 lambda 配置中的时间,甚至尝试使用 Node 请求而不是 http 但仍然遇到相同的错误。

'使用严格';

var http = require('http');
var request = require('request');

exports.handler = async (event) => {
const response = await getRequest(urltohit);
console.log(response);

}
const getRequest = async (url) => {
console.log("Test log");
return new Promise((resolve, reject) => {
console.log(`url ${url}`);
http.get(url, function(res) {
console.log("Got response: " + res.statusCode);
resolve(res.statusCode);
}).on('error', function(e) {
console.log("Got error: " + e.message);
reject(e.message);
});
});
}

最佳答案

函数执行后需要调用callback

exports.handler = async (event, context, callback) => {
const response = await getRequest(urltohit);
console.log(response);
callback(null);
}

这是 lambda 行为,让函数保持运行直到回调被调用。
更多内容可查看官方documentation

关于node.js - 获取任务在 59.05 秒后超时 aws lambda nodejs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51963028/

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