Большие данные в формате JSON через POST-запрос
У меня есть система, работающая как рой, с множеством независимых устройств под управлением Django и главным Queen (тоже под управлением Django), собирающим данные с роя.
Каждое устройство из роя отправляет новые данные королеве, используя POST-запрос с данными в формате json. Каждая информация, записанная в устройстве, затем обновляется, чтобы отметить ее как отправленную королеве, и ее не нужно повторно отправлять позже.
проблема в том, что каждый набор данных составляет около 10 МБ, и я получаю ошибку тайм-аута при обработке почтового запроса.
Решение, которое я получил на данный момент, далеко от оптимального: Я разбиваю выгрузку на партии по 500 записей и отправляю несколько почтовых запросов. После каждой успешной загрузки я обновляю каждую запись 1 за 1. Это решение имеет некоторые проблемы с производительностью.
То, что мне нужно улучшить:
- управлять отправкой всех данных за 1 один запрос
- Уменьшить объем отправляемых данных
- быстрее обновлять данные на каждом устройстве после
Итак, вопросы следующие:
- Есть ли способ дольше сохранять запрос на почту?
- Я думаю использовать gzip для отправки данных. Стоит ли на это обратить внимание или это не очень хорошая практика?
- Сейчас я прохожусь по каждому объекту, обновляю атрибут и сохраняю объект. есть ли способ ускорить это?
спасибо за ваши рекомендации