Большие данные в формате JSON через POST-запрос

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

Каждое устройство из роя отправляет новые данные королеве, используя POST-запрос с данными в формате json. Каждая информация, записанная в устройстве, затем обновляется, чтобы отметить ее как отправленную королеве, и ее не нужно повторно отправлять позже.

проблема в том, что каждый набор данных составляет около 10 МБ, и я получаю ошибку тайм-аута при обработке почтового запроса.

Решение, которое я получил на данный момент, далеко от оптимального: Я разбиваю выгрузку на партии по 500 записей и отправляю несколько почтовых запросов. После каждой успешной загрузки я обновляю каждую запись 1 за 1. Это решение имеет некоторые проблемы с производительностью.

То, что мне нужно улучшить:

  1. управлять отправкой всех данных за 1 один запрос
  2. Уменьшить объем отправляемых данных
  3. быстрее обновлять данные на каждом устройстве после

Итак, вопросы следующие:

  1. Есть ли способ дольше сохранять запрос на почту?
  2. Я думаю использовать gzip для отправки данных. Стоит ли на это обратить внимание или это не очень хорошая практика?
  3. Сейчас я прохожусь по каждому объекту, обновляю атрибут и сохраняю объект. есть ли способ ускорить это?

спасибо за ваши рекомендации

Вернуться на верх