Правильная архитектура приложения для telegram — бота на node js?

Всем привет! Пишу бота для telegram на node js с помощью telegraph.js, и mongoose. Это мои первые грабли.
Сейчас сделано так:
- приложение app.js и вспомогательные файлы выложены на DigitalOcean в dokku контейнере
- БД на бесплатном аккаунте mlab

И вроде все работает, но: если что-то обновить в базе данных, но не перезапустить контейнер, то если запрашивать эти данные через телеграм, то они не выводятся, хотя в БД они точно есть. Если перезапустить контейнер - данные появляются.
В общем, выглядит это так (дальше - мои догадки), как будто пользователь обращается к моему приложению - создаются экземпляры классов, подтягиваются данные из БД (один раз) - и все. При повторных командах используются старые данные.
И вот вопрос: а как правильно организовать архитектуру для бота на node? Должен ли у меня быть сервер? express какой-нибудь? Не перезапускать же приложение после каждого изменения в БД... И самое интересное - почему данные повторно не обновляются?
  • Вопрос задан
  • 499 просмотров
Пригласить эксперта
Ответы на вопрос 1
TTATPuOT
@TTATPuOT
https://code.patriotovsky.ru/
Да, скорее всего так и есть. Проверьте, не включено ли кеширование и не забиваются ли данные в глобальные переменные, которые потом используются повторно.

Если вы используете Webhook'и - то у вас должен быть сервер. Не обязательно Express. Просто, чтобы принимать уведомления от Telegram'а.

Но ваша проблема не связана с сервером или его отсутствием. Первая строчка ответа в помощь. Ищите по коду повторения.
Ответ написан
Ваш ответ на вопрос

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

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