#node.js #express #pg #pg-promise #express-generator
#node.js #экспресс #pg #pg-обещание #экспресс-генератор
Вопрос:
Pg-promise ничего не возвращает в течение 60 секунд и истекает время ожидания при запуске настройки сервера с помощью express-generator. Сообщений об ошибках нет.
Все маршруты без db.any
или аналогичного запроса работают нормально. Маршруты с db.*
истекшим временем ожидания.
Но то же соединение / маршрут / запрос отлично работает с простым приложением express.
Я запускаю это из AWS EC2.
Вот тестовый образец express, который работал нормально. Тот же маршрут в routes/index.js не работает — истекает время ожидания.
const express = require('express');
const app = express();
const options = {
query: function (e) {
console.log(e.query);
},
};
const pgp = require('pg-promise')(options);
const connection = 'postgres://user:pwd@endpoint:5432/db';
const db = pgp(connection);
app.get('/test', (req, res) => {
db.any('select id from users')
.then(data => {
res.json({
data,
});
}).catch(err => {
res.json({
err,
});
});
});
app.listen(4000, () => {
console.log('db app listening on port 4000!');
});
module.exports = app;
Не уверен, чего мне не хватает? В чем может быть проблема!
Комментарии:
1. Дополнительная информация: Проблема, похоже, возникает, когда pg-соединение создается в другом файле и импортируется в routes!! Не совсем проблема с экспресс-генератором. Но все еще не решена.
2. Это все проблемы, связанные с AWS, из-за которых было множество дискуссий против базового драйвера .
3. Я понимаю. Спасибо, что ответили. Та же самая настройка отлично работает как на локальных, так и на других экземплярах AWS, что я тоже наблюдал.