当前位置: 首页 > 知识库问答 >
问题:

“errormessage”:任务在3.00秒后超时aws lambda nodejs lambda函数试图与RDS连接

南宫才艺
2023-03-14
var mysql = require('mysql');

exports.handler = (event, context) => {
var con = mysql.createConnection({
  host: "testdb.cxyzu.ap-south-1.rds.amazonaws.com",
  user: "root",
  password: "mypassword",
  database: "test",
  port: "3306",
 // debug: true
});

con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
 // var sql = "INSERT INTO users (id, name) VALUES (4, 'dfdd')";
var sql = "select * from test.users";
  con.query(sql, function (err, result) {
    if (err) throw err;
//    console.log("1 record inserted");
      console.log(result);
  });
});
//callback("sucess");
}
START RequestId: 596fdf39-6193-11e7-9176-f58796899f9b Version: $LATEST
2017-07-05T15:05:24.680Z	596fdf39-6193-11e7-9176-f58796899f9b	Connected!
2017-07-05T15:05:24.684Z	596fdf39-6193-11e7-9176-f58796899f9b	[ RowDataPacket { id: 1, name: 'sai' },
  RowDataPacket { id: 2, name: 'chandra' },
  RowDataPacket { id: 3, name: 'AA' },
  RowDataPacket { id: 4, name: 'dfdd' } ]
END RequestId: 596fdf39-6193-11e7-9176-f58796899f9b
REPORT RequestId: 596fdf39-6193-11e7-9176-f58796899f9b	Duration: 3003.80 ms	Billed Duration: 3000 ms 	Memory Size: 1536 MB	Max Memory Used: 21 MB	
2017-07-05T15:05:27.425Z 596fdf39-6193-11e7-9176-f58796899f9b Task timed out after 3.00 seconds

共有1个答案

丁阳羽
2023-03-14

您需要通过成功或错误回调退出lambda。否则,引擎将保持打开,直到发生超时。

退出lambda的最简单方法是调用“context.success(”done“);”代码完成后。

var mysql = require('mysql');

exports.handler = (event, context) => {
var con = mysql.createConnection({
  host: "testdb.cxyzu.ap-south-1.rds.amazonaws.com",
  user: "root",
  password: "mypassword",
  database: "test",
  port: "3306",
 // debug: true
});

con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
 // var sql = "INSERT INTO users (id, name) VALUES (4, 'dfdd')";
var sql = "select * from test.users";
  con.query(sql, function (err, result) {
    if (err) throw err;
//    console.log("1 record inserted");
      console.log(result);
      context.succeed("done");
  });
});
//callback("sucess");
}

下面是本主题的一些基本介绍:

 类似资料:
  • 问题内容: 我正在尝试使用连接到RDS数据库的Node.js编写Lambda函数。该数据库正在运行,并且可以从我的Elastic Beanstalk环境访问。当我运行该函数时,它将返回超时错误。 尝试将超时延长到5分钟,结果完全相同。 经过一些研究,我得出的结论是,这可能是一个安全问题,但无法在Amazon文档或此答案中找到解决方案(这是我只能在该主题上找到的解决方案)。 以下是安全性详细信息:

  • 我正在尝试使用 Node 编写一个 Lambda 函数.js该函数连接到我的 RDS 数据库。该数据库正在运行,可以从我的 Elastic Beanstalk 环境访问。当我运行该函数时,它返回超时错误。 尝试将超时增加到 5 分钟,结果完全相同。 经过一些研究,我得出的结论是,这可能是一个安全问题,但在亚马逊的留档或这个答案中找不到解决方案(这是我在这个话题上唯一能找到的答案)。 以下是安全详细

  • 当python lambda函数被执行时,我会得到“Task timed Ut after 3.00 seconds”错误。我正在尝试同样的示例函数。当我尝试从eclipse中运行相同的代码时,它工作得很好,我可以看到查询结果。同样,我可以从本地机器Mysql工作台连接到db实例而没有任何问题。 我尝试为这个lambda函数创建一个具有完全管理员访问策略的角色,但即使这样,它也不能正常工作。db实

  • 问题内容: 我正在寻找可以提供超时的ExecutorService实现。如果提交到ExecutorService的任务花费的时间超过了超时时间,则这些任务将被中断。实现这样的野兽并不是一个困难的任务,但是我想知道是否有人知道现有的实现。 这是我根据以下一些讨论得出的。任何意见? 问题答案: 你可以为此使用ScheduledExecutorService。首先,你只提交一次即可立即开始,并保留创建的

  • 所以我有我的 Amazon RDS 实例,我允许我的 EC2 组让所有内容都连接,并且可以在脚本从我自己的机器运行时(使用 XAMPP 安装)完全建立 PDO 连接。 然而,当我从服务器上运行时,我得到一个 错误 从我自己的机器上运行脚本时不会出现此错误,我可以在那里很好地连接到数据库,进行插入和选择等。但是一旦我在我的实际EC2服务器上,blip总是无法连接。此外,它无法连接到任何MySQL实例

  • 我正在写一个php脚本,它访问远程服务器上的csv文件,处理数据,然后将数据写入本地MySQL数据库。因为要处理和插入数据库的数据太多(50000行),所以脚本运行时间超过60秒。我的问题是,脚本在60秒后超时。 为了确保这不是MySQL的问题,我创建了另一个进入无限循环的脚本,它也会在60秒时超时。 我尝试增加/更改Ubuntu服务器上的以下设置,但没有帮助:max_execution_time