Обработка данных в реальном времени в Django / Python - PullRequest
3 голосов
/ 02 декабря 2010

Мы работаем над проектом по обработке данных в реальном времени.Мы планируем использовать Django / Python.Фактический процесс:

  1. Десятки тысяч устройств принимают 4 выборки в секунду (0, 0,25, 0,5, 0,75) и непрерывно отправляют обратно на наш сервер Django, в основном это временные ряды с временной меткой изначение
  2. Нам необходимо выровнять выборки со всех устройств в соответствии с отметкой времени (необходимо иметь точность в миллисекундах) и сделать простое среднее значение для всех временных рядов
  3. Все это необходимо сделать в режиме реального времени.(максимальная задержка в 1 секунду) и отправьте, используя другой поток

Мы изучаем RRDTool и scikits.timeseries, но они не имеют точности в миллисекундах, поэтому они не могли выровнять наше времясерии.

Просто интересно, есть ли какие-либо инструменты / структура данных, которые мы можем использовать с Django / Python для этого типа обработки данных в реальном времени.И потокобезопасность важна, так как отправка результата будет выполняться в другом потоке.

Заранее спасибо.

Ответы [ 4 ]

6 голосов
/ 02 декабря 2010

Ваши варианты для веб-служб реального времени в Python: Витая , Торнадо и Eventlet

Вы можете интегрировать все это для работыс Python / Django. Учебник по этому вопросу .

1 голос
/ 02 декабря 2010

Возможно, вы захотите взглянуть на Tornado , веб-серверную среду, которая не блокирует и использует epoll.Должно быть более подходящим для ваших требований в реальном времени, чем платформы более высокого уровня, такие как Django.

0 голосов
/ 08 июля 2012

Вы должны рассмотреть вопрос о проекте сельдерея . Он прекрасно подключается к Django, но не уверен, чувствителен ли он к требованиям точности в миллисекунды. Вы также можете рассмотреть возможность выхода из стека django и использования Брубек с Mongrel2 и ZeroMQ.

0 голосов
/ 02 декабря 2010

Краткий ответ: Нет. Джанго не поможет вам в этом.

Длинный ответ: звучит как работа для какого-то пользовательского кода, поступающего непосредственно с веб-сервера. Я думаю, что скрипт на Python висит прямо на wsgi, или даже модуль apache, написанный на C!

...