@vladik5555

Как кластеризовать бота на Node.js для Telegram?

Всем привет) Недавно начал писать бота для Telegram на языке JavaScript (Node.js). Уже научил его работать и с MySQL, и с Redis, но вот в один прекрасный момент я решил проверить насколько он станет быстрее работать, если сделать кластеризацию бота. Установил модуль «PM2» и запустил бота такой командой: «pm2 start app.js –i 2». Результат немножечко меня удивил, хотя и не должен был удивлять. Весь прикол в том, что для получения обновлений с серверов Telegram я использую Long Polling запросы. И если запустить с помощью модуля «pm2» echo-бота (бот, повторяющий присланное сообщение), который так же получает обновления через Long Polling запросы, то он будет повторять посланное ему сообщение дважды. То есть, я ему пишу, например, «Привет!», а он присылает мне два таких сообщения «Привет!» «Привет!», а не одно. Иначе говоря, бота, использующий Long Polling запросы, нельзя использовать вместе с «pm2 … -i 2».

Отсюда и вопрос: Как можно кластеризовать бота, использующий Long Polling запросы для получения обновлений?

Единственный, как я понимаю, вариант – это использовать встроенный модуль «cluster», но может кто-то еще что-то предложит) Буду благодарен за любую помощь :)
  • Вопрос задан
  • 965 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы