Я использую node.js
express сервер для запуска бота Telegram ( узел telegram bot api npm package). Я также использую privoxy и запускаю приложение, используя pm2
.
Через некоторое время (иногда несколько часов, иногда несколько дней) бот перестает отвечать на сообщения (в некоторых обработчиках сообщений присутствуют console.log, но не выводит их), но продолжает отправлять сообщения (что установлено с пакетом cron npm).
Бот начинает отвечать после pm2 restart
, а также отвечает на сообщения, отправленные до перезапуска.
Сначала я подумал, что это утечка памяти, но если это правда, почему он отправляет сообщения?
Пробовал pm2 monit
, он показывает:
mainBot Память: 202 МБ Процессор: 1%
Размер кучи 112,47
Использование кучи 88,7
Используемый размер кучи 99,85
Активные запросы 0
Активные дескрипторы 16 Событие l oop задержка 2,93
После перезапуска:
Память mainBot: 79 МБ Процессор: 1%
Размер кучи 46,15
Использование кучи 69,9
Используемый размер кучи 32,1
Активные запросы 0
Активные дескрипторы 10 Событие l oop Задержка 0,63
Это проблема сети или памяти?