Разделите приём и обработку

Сохраните запрос, покажите, что он принят, и передайте длительную работу обработчику. Свяжите итоговый ответ с исходным сообщением и текущими правами пользователя.

Что проверить

  • Ограничьте время ожидания и число повторов.
  • Не выполняйте один запрос дважды при повторной доставке.
  • Наблюдайте очередь и ошибки зависимости.
  • Сохраняйте достаточный контекст для разбора проблемы.

Согласуйте правила работы с данными

Определите, какие данные можно отправлять модели, что хранится в журнале и как удаляется история.