AWS Lambda завершается успешно один раз, а затем - несколько раз
У меня есть функция AWS Lambda, которая запрашивает базу данных MongoDB (Sandbox - db, размещенную в mlab), используя mongoose с phoneNumber, и база данных возвращает информацию об этом пользователе.
Время от времени код выполняется правильно, Customer.findOne()
вызывается и возвращает данные с использованием callback()
, но затем несколько раз подряд после этого код внутри Customer.findOne()
не вызывается, и в течение нескольких миллисекунд возвращает ноль
Всякий раз, когда я тестирую этот код локально, все работает как положено, я всегда получаю ответ из базы данных.
Клиент - это модель мангуста, а мангуста - просто соединение mongodb.
Я должен был поставить mongoose.connection.close()
, потому что без него это было бы тайм-аут.
const { mongoose } = require('./mongoose');
const { Customer } = require('./customer');
exports.handler = function (event, context, callback) {
var phoneNumber = '+12345678901';
Customer.findOne({ phoneNumber }).then((c) => {
if (!c) {
mongoose.connection.close();
return callback(null, { "error": "not found" });
}
mongoose.connection.close();
callback(null, { "Name": c.Name });
});
};
Я ожидаю, что лямбда-функция будет работать каждый раз, но она будет успешна только один раз в пару десятков раз