@unsstrennen

Как сделать неблокирущую задержку ответа бота?

Задача - предусмотреть функции с отложенным запуском (есилп ользователь не ответил в течение двух минут - удалить объект чата) и функции отложенной отправки (с целью имитации процесса печати). При этом эти задержки должны быть неблокирующими. Текущая схема работы: flask-сервер обеспечивает связь вебхук-функционал бота, каждый диалог представляет из себя класс WABot, который создаётся при первом сообщении пользователя и удаляется, когда диалог можно считать закрытым. Каждый запрос к боту вызывает функцию `processing` в классе бота.
1. Как реализовать такие неблокирующие задержки отправки сообщений?
2. Как реализовать вызов функции через некоторое время после неответа пользователя?
  • Вопрос задан
  • 242 просмотра
Пригласить эксперта
Ответы на вопрос 1
@deliro
Если нужно именно синхронно и с гарантией доставки — cron или Celery. То, что ты описал, можно сделать кроном — в БД писать задачи и срок их выполнения. Раз в минуту крон-скриптом проходить по задачам, которые уже нужно сделать и удалять их/помечать.
Ответ написан
Ваш ответ на вопрос

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

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