Время ожидания Node API истекает, пока я снова не перезапущу pm2

#mysql #node.js #api #pm2 #http-status-code-504

#mysql #node.js #API #pm2 #http-status-code-504

Вопрос:

Я создал базовый API в node с помощью express, все работает нормально, но внезапно несколько раз я получаю тайм-аут 504, когда pm2 находится в режиме онлайн, и тайм-аут продолжается до тех пор, пока я снова не перезапущу pm2, я даже проверил работоспособность сервера, все в порядке, даже sql server в порядке. я проверил журналы pm2, и все в журналах тоже в порядке.

Я проверяю API с использованием postman с включенными журналами pm2, это занимает время и показывает ошибку 504 без журналов, и после перезапуска pm2 некоторое время все работает нормально

Комментарии:

1. Для меня это звучит так, как будто в каком-то пути к коду есть ошибка. Предлагаю вам просмотреть ваш код и убедиться, что у вас есть Try / Catches и там, где вы поймали исключение, вы возвращаете его обратно в ответ API. Например. res.status(500).send(«что-то сломалось»). Помимо просмотра try / catches, используете ли вы promises в каких-либо своих сервисах? Если это так, убедитесь, что требуемые инструкции resolve и reject размещены правильно и логично, а также возвращают любые ошибки.

2. Спасибо и извините за поздний ответ. Я обнаружил проблему, просмотрев код, дело в том, что я пропустил выпуск соединения MySQL в некоторых местах, используя ограничение пула соединений всего в 20. Итак, выполнение последовательных тестов заполнило соединения, а другие соединения остались в очереди, что привело к таймауту, теперь я закрываю соединения везде, увеличив лимит пула до 50, теперь все работает нормально