Совет по использованию каналов Django для получения высокочастотных данных и сохранения их в db
Я недавно начал изучать Django Channels и попытался использовать его в одном из моих приложений, которое получает частые данные (100-200 раз в минуту) от клиента и сохраняет их в базе данных. Ниже приведен код для функции получения в WebSocket Consumer.
def receive(self, text_data):
text_data_json = json.loads(text_data)
print('Data received',text_data_json)
session = text_data_json["session"]
user = text_data_json["user"]
group = text_data_json["group"]
strDate = text_data_json["strDate"]
activity = text_data_json["activity"]
# code to save the record in Django Model VAD
VAD.objects.create(session=session,user=user,group=group,timestamp=strDate,activity=activity)
Я попробовал это в режиме разработки и, кажется, это работает. Потребительский код работает нормально, получая данные и сохраняя их в db.
Прежде чем обновлять сервер для этого, я хочу спросить, является ли этот подход, заключающийся в том, чтобы иметь потребителей для сохранения данных в базе данных, хорошим. Если есть какие-то проблемы с этим, то не могли бы вы поделиться своим экспертным мнением по этому поводу. Также, не могли бы вы предложить способ уменьшить количество записей на диск из-за сохранения данных в БД для каждой полученной записи.
Заранее спасибо.