Pg обещает тайм-аут при использовании формата экспресс-генератора, но отлично работает с базовым экспресс-разделением

#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, что я тоже наблюдал.