【发布时间】:2018-09-03 15:58:24
【问题描述】:
我有一个index.js 文件,其中包含如下代码:
const dbConfig = require('./config/dbConfig')
const mysql = require('mysql')
var con = mysql.createConnection({
host: dbConfig.host,
user: dbConfig.username,
password: dbConfig.password,
database: dbConfig.database
})
function readMessages (event, context, callback) {
console.log('function triggered')
con.connect((err) => {
if (err) {
console.error(err)
callback(err)
} else {
console.log('Connected!')
con.query('SELECT * FROM Messages WHERE isDeleted = 0;', (err, result, fields) => {
if (err) {
console.error(err)
callback(err)
} else {
console.log(result)
con.end()
callback(null, result)
}
})
}
})
}
exports.handler = readMessages
代码正确地从 mysql 数据库中获取数据,并在我在本地机器上运行时将它们显示在屏幕上。
但是,当它在 aws-lambda 上运行时,我收到了 Task timed out after 7.01 seconds 错误。
代码及其依赖项打包在一个名为 app.zip 的文件中,然后上传到 aws-lambda。
app.zip
├── config
│ └── dbConfig.js
├── index.js
└── node_modules
我的函数打印的唯一日志消息是function triggered。我在云观察日志中找不到我的函数生成的其他日志消息。
为什么函数在 aws-lambda 上超时?
【问题讨论】:
标签: mysql node.js amazon-web-services aws-lambda amazon-rds