Thomas Storm: для себя в качестве критерия выбора между Bash и Python я использую необходимость сложной работы с данными и необходимость запуска большого числа сторонних приложений. То есть если нужно два-три грепа и простая конструкция в sed или awk, то вполне хватит и Bash. Если же надо обрабатывать логи хитрыми регулярками, то лучше Python. Но вот запуск по очереди 5-6 приложений, обрабатывающих данные, на Python выглядит как боль, поэтому лучше снова Bash.
Cравнивать с True или False — бесполезная затея, совершенно лишнее действие. Это, видимо, привычка, перешедшая из PHP. В Python это бесполезно, так как перед сравнением проводится приведение типов и
>>> 1 == True
True
Если нужно убедиться, что переменная является именно булевым значением, нужно или проверить тип (isisnstance()) или использовать операцию is (a is True).
65536: это зависит от того, кто в ком больше заинтересован. Если мелкий магазинчик покупает у нескольких крупных производителей, то ради него никто переделывать свои форматы не станет. Если же это крупная розничная сеть, то да, она может заставить производителей плясать под свою дудку. Но что-то мне подсказывает, что программисты Ашана или Дикси не задают таких вопросов в таких местах :-) Да и вопрос был именно о том, как сделать парсинг разношёрстных данных.
Сергей: кстати, обратите внимание, что этот лимит стоит ставить только на тот location, который отдаёт динамику, на статику он не нужен и может даже мешать. Плюс заметьте, что это ограничение на количество запросов с одного IP, а не вообще. Это так, на всякий случай :-)
Сергей: burst — это такой дополнительный порог. При его достижении включается основное ограничение. То есть если основное ограничение 10 r/s, а burst 30, то 15 и 20 запросов за секунду он пропустит, но если за секунду придёт 31 запрос, то в следующую секунду он пропустит только 10 запросов, остальным покажет 503. И так будет каждую следующую секунду, пока частота обращений не опустится ниже 10 в секунду. Кстати, сейчас заметил, что у Вас неправильно конфиг составлен, burst должен быть меньше чем limit.
Сергей: скорее всего, Вы правы, помню только группу, а не точный код. Почему не работает? Работает, снижает нагрузку на сервер :-) Соль в том, что ошибку получают только «лишние» пользователи, остальные получают нормальные ответ.
Viniokil: профит в том, что одно приложение — один контейнер. Если Вы пох-рите один из контейнеров, остальные этого не заметят. Ну, и накладных расходов таки меньше, чем при виртуализации, например, потому что каждая вируталка вынуждена будет ещё десяток собственных демонов держать, а контейнер может пользоваться демонами хоста.