Э! Я бы дополнительно мультикаст швырнул, если IGMP Snooping или IGMP storm не настроены или не рабоатют - лягут как миленькие, тут и бондинг не нужен, он (коммутатор) сам за себя все сделает.
на одном конце
iperf -c 226.94.1.1 -u -T 32 -t 20
и на втором
iperf -s -u -B 226.94.1.1
Упс... в гугле так и набираем - "python functional programming"... Голову только не сломайте :-) И применяйте дозированно, иначе макаронокод в стиле perl/brainfuck обеспечен....
Vladisus на счет все решать в рамках задач в ООП, я бы сильно поспорил, а куда деть функциолнальщину, генераторы, замыкания, лямбды, декораторы и прочую магию? Она не совсем ООП однако... Питон как раз меня и разленивил, в отличии от явы, что классы не всегда хорошо, без них никуда конечно, но чаще ими не пользуюсь, чем пользуюсь...
Я заказчику предлагал django и mezzanine, а от битрикса может быть и откажусь. В битриксе, конечно не шарю, но думаю, по аналогии с десятком других подобных систем, попробую разобраться. Хотя, уже сейчас понимаю всю жопность сего продукта...
Просто в ПЛК дополнительно, как обычно, залит интерпретатор какого нибудь из языков IEC 61131-3, чтобы писать программы на какой нибудь SCADA в виде блоков и условий.
И это гораздо дешевле и надежней, чем разворачивать распределенные файловые системы, которые внутри делают примерно тоже самое, только заточены на файлы со всеми плюсами и минусами...
А зачем хранить именно файлы?! Храниет бинарные данные и вытаскивайте их по ключу! Мы, например у себя развернули ceph, что и многим желаем. Загружаете файло, назначаете ему ключ и пуляете в хралилище, потом по ключу и достаете. Если нужно, рядом создаете ключ с метаинформацией, имя, кто, когда, откуда и по какому поводу запулил данные. Итого, в базе у вас привязка к ключу, в хранилище два ключа media.xxxxx и meta.xxxx.
Так это и есть специфика вашей задачи! Блокировка - немного не то слово, это флаг, что данный deviceID нужно пропустить, но так как из очереди нам его вынуть нужно, то делаем очередь для ожидающих.
Ну а в чем проблема?! Вроде бы должно работать... А лучше поставьте себе виртуалку с линуксом, хотя бы для отладки. Про винды сказать ничего не могу, сам на маках и виртуалках :-)
Мне кажется, что постгрес легче, практически вообще не требует конфигурирования, ну мускул немного быстрее (хотя все очень относительно). Для джанги наверное постгрес лучше...
Ах, да!!! Как раз все эти навороты перестают работать в распределенных системах. Представим, что сообщений столько, что принимается решение разделить таблицу на несколько серверов например по алфавиту, вот здесь вам и придется все эти тригеры и хранимки убирать и внедрять в код, это и так не всегда тривиальная задача, а тут еще и тригеры и хранимки...
на одном конце
iperf -c 226.94.1.1 -u -T 32 -t 20
и на втором
iperf -s -u -B 226.94.1.1