SQLALCHEMY: запись в базе данных после того, как ответ был отправлен

StackOverflow https://stackoverflow.com/questions/3631832

Вопрос

У меня есть простая служба, которая делает примерно следующее:

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

(Случаи, когда это делает реальную работу, и возврат фактические данные не относятся к этому вопросу)

Чтобы вернуть этот ответ как можно скорее, я хотел бы написать информацию в Memcache в тело запроса обработчика (потому что memcache будет быстрым), а для создания отдельной резьбы, где другая функция, использующая SQLAlchemy, напишет ее на постоянную место хранения. Таким образом, я смогу вернуться сразу после записи на Memcache и нерести поток, а обработчик запроса не придется ждать, пока SQLalchemy не сохраняет информацию в базе данных.

Имеет ли это смысл? Если да, как я должен реализовать это?

Это было полезно?

Решение

Вы могли бы использовать что-то вроде Очередь распределенной целеводства разгрузить обработку на другие машины. Это требует настройки отдельной инфраструктуры, но позволит выполнять задачи от веб-запросов для обработки на заднем плане, в то время как http Repsonse к запросу можно немедленно возвращать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top