#go
#Вперед
Вопрос:
Мне нужно, чтобы мое приложение получало все тело из серии запросов POST, сделанных к нему в течение 1 минуты, скажем, с 12: 00 до 12: 01, в один массив / структуру (чтобы я мог обработать все это сразу через 1 минуту). Затем снова это должно перезапуститься, чтобы получить в течение следующей минуты и так далее.
Это в golang, который я пытаюсь создать. Получение данных в формате JSON.
func (m *StreamsDAO) Insert(stream model.Stream) error {
err := db.C(COLLECTION).Insert(amp;stream)
return err
}
Вместо прямой вставки в БД ( err := db.C(COLLECTION).Insert(amp;stream)
) мне нужны все данные за 1 минуту, обработайте их, затем вставьте, снова получите все за следующую 1 минуту и так далее.
Комментарии:
1. Это один http GET или серия GET? Каков формат тела http? JSON? Вам нужно опубликовать более подробную информацию. Что вы уже пробовали?
2. Обновлено. Я не понимаю, как действовать в этом случае, поскольку я новичок в golang. До сих пор я просто вставлял данные в db после каждого post-вызова. Но теперь у меня другое требование.
3. Вы можете запускать код через регулярные промежутки времени, используя тикер . Просто сохраните записи в соответствующей структуре данных (фрагмент, связанный список, канал и т.д.) Во время фазы ожидания. Этот сайт не является сервисом для написания кода, поэтому вопрос слишком широкий. Мы будем рады помочь вам с любыми конкретными проблемами, с которыми вы столкнетесь.
4. Что особенного в интервалах в одну минуту? Почему бы не обработать данные немедленно или в фоновом режиме?
5. Мое приложение прослушивает со скоростью 10 м / мин. Мне нужно сохранить эти данные, а также по запросу мне нужно обработать эти данные и ответить порциями обработанных данных по 1 минуте. Это создаст некоторую задержку из-за времени обработки этих огромных данных. Итак, теперь я обрабатываю данные во время потребления, а затем сохраняю. Это экономит пропускную способность моей сети при отправке данных в базу данных, а также уменьшает задержку при запросе данных.