@neuro4live

Почему телеграмм отрпавляет вебхуки с задержкой?

На сервере запущен телеграмм бот, который работает не через пулинг, а принимает вебхуки. Сам бот довольно сложный, он работает и с базой данных и с api wordpress. Когда я отправляю в бот сообщение, то бот может на него не отреагировать, если отправить ещё одно сообщение, то он сразу реагирует на предыдущее сообщение. Когда бот запущен через пулинг, то такой проблемы не наблюдается, но мне нужно запускать через вебхуки, так-как на сервере планируется использовать двух ботов сразу. Схема настройки следующая Nginx - gunicorn - flask(для обработки хуков от телеги) - pytelegrambotapi

Фрагмент кода бота:

#импорты нужных библиотек

bot = TeleBot(token_bot_driver, parse_mode='HTML')
app = Flask(__name__)

@bot.message_handler(commands=['start'])
def start_bot(message):
    bot.send_message(message.chat.id, 'Hi')
#остальные функции бота

@app.route(f'/8xhPzWJxpnCIkkeu8Oso', methods=['POST'])
def webhook():
    print(request.get_data())
    bot.process_new_updates([types.Update.de_json(request.get_data().decode("utf-8"))])
    return "ok", 200

if __name__ == '__main__':
    bot.polling(none_stop=True)


точка входа wsgi

from bot_driver import app

if __name__ == "__main__":
    app.run()


Бот запускается следующей командой:
gunicorn --workers 4 --bind unix:./sockets/driver_bot.sock -m 007 wsgi:app

На сервере используется ssl сертификат letsencrypt. Настройки nginx:

location = /8xhPzWJxpnCIkkeu8Oso {
                include proxy_params;
                proxy_pass http://unix:/путь/до/файла/соккета/sockets/driver_bot.sock;
    }


Пожалуйста подскажите в чем проблема. В логах приложения ни каких ошибок нету.
  • Вопрос задан
  • 222 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

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