> // я понял что дискуссия с вами господа будет продолжаться вечно.
Ещё бы, если вы на наши скромные вопросы не отвечаете.
> оно там есть и через него работает джанга когда дружиш ее с fastcgi.
Так значит не джанга построена, а в ней есть механизм взаимодействия с flup. Это уж, извините, разные вещи.
> что именно и как вы ему скармливаете и покажите тот кусок кода который вас смущает во флапе.
Обидно trac флаповский сломался, а то бы ещё как показал.
> а теперь о трэдах:
Вот тут вы как раз на вопрос (заданный чуть ниже) не ответили. Как по вашему работает fapsws и flup? Причем тут nginx вообще не понятно. Видимо чтобы «объему» добавить и не сказать ничего по существу.
Не конструктивная позиция. А обидно, было бы очень интересно обсудить конкретный вопрос.
Так вы разочаровывайте аргументировано. Я только рад буду новому научиться от умных людей. Расскажите как fapws работает и как flup на самом деле, если я не прав. Пожалуйста.
Просто тогда в посте не хватает упоминания «целевой аудитории» такого решения чтобы не возникало лишних вопросов.
А вообще апач с embeded mod_wsgi (и даже в принципе mod_python) может очень хорошо и не прожорливо работать с минимальным расходом ресурсов. Но согласен, его в разы труднее настраивать и надо понимать чего хочешь и как этого добиться.
Ах да, ещё, fapws не чисто питонячий — там сердце это сишный libev для асинхронной обработки I/O.
Вообще конечно fapws не замена апачу (тем более хорошо настроенному). Он не production ready или по крайней мере об этом никто не знает. Потом все эти решения плохо масштабируются под нагрузкой. Нет умного шедулера процессов, а следовательно адаптивно форкаться или порождать новые инстансы сервера для балансировки на них не получится.
Кстати supervisord умеет нативно работать над FastCGI и может динамически порождать процессы в зависимости от нагрузки. Вот это уже интересно.
Но зачастую наличие готовой среды пусть и достаточно жесткой (хотя то что джанга монолитная — миф) предпочтительней чем набор компонентов и которых ещё надо эту среду построить и к ней адаптироваться. Но тут опять всё упирается в конкретные задачи и цели.
Кстати, да, fapws3 нестабилен, Причем даже более чем тот же flup.
И вообще недавняя некая истерия прокатившаяся по сообществу питонистов/джангистов по поводу асинхронных WSGI серверов явно связана с тотальным непониманием их принципов, недостатков и достоинств.
Внесите ясность пожалуйста:
Правильно я понимаю, что любой код в любом случае «завершается» `reactor.run`ом и что по сути реактор и есть сердце Twisted без которого `Deffered` не работают. Или я не прав?
Ещё бы, если вы на наши скромные вопросы не отвечаете.
> оно там есть и через него работает джанга когда дружиш ее с fastcgi.
Так значит не джанга построена, а в ней есть механизм взаимодействия с flup. Это уж, извините, разные вещи.
> что именно и как вы ему скармливаете и покажите тот кусок кода который вас смущает во флапе.
Обидно trac флаповский сломался, а то бы ещё как показал.
> а теперь о трэдах:
Вот тут вы как раз на вопрос (заданный чуть ниже) не ответили. Как по вашему работает fapsws и flup? Причем тут nginx вообще не понятно. Видимо чтобы «объему» добавить и не сказать ничего по существу.
Не конструктивная позиция. А обидно, было бы очень интересно обсудить конкретный вопрос.
Это как?
> Лишний веб сервер посредине — это лишняя работа по прекачиванию данных из одних буферов в другие. Этот вариант не самый производительный.
А вы знаете как flup обрабатывает бинарные потоки, которые к нему от сервера приходят? Поизучайте. Это слезы
> По тестам проведенным мною лично и теми же разработчиками django оптимальный вариант именно работа джанги через fastcgi.
Вполне может быть, но не с flup.
У flup пока есть другие преимущества из-за которых иногда его оправдано использовать.
А вообще апач с embeded mod_wsgi (и даже в принципе mod_python) может очень хорошо и не прожорливо работать с минимальным расходом ресурсов. Но согласен, его в разы труднее настраивать и надо понимать чего хочешь и как этого добиться.
Ах да, ещё, fapws не чисто питонячий — там сердце это сишный libev для асинхронной обработки I/O.
Кстати supervisord умеет нативно работать над FastCGI и может динамически порождать процессы в зависимости от нагрузки. Вот это уже интересно.
Но зачастую наличие готовой среды пусть и достаточно жесткой (хотя то что джанга монолитная — миф) предпочтительней чем набор компонентов и которых ещё надо эту среду построить и к ней адаптироваться. Но тут опять всё упирается в конкретные задачи и цели.
И вообще недавняя некая истерия прокатившаяся по сообществу питонистов/джангистов по поводу асинхронных WSGI серверов явно связана с тотальным непониманием их принципов, недостатков и достоинств.
Не очень понятно почему теже самые ограничения невозможно наложить на джанговское приложение.
И возможно именно специфика вашей задачи сыграла роль.
Можете поподробней рассказать?
Правильно я понимаю, что любой код в любом случае «завершается» `reactor.run`ом и что по сути реактор и есть сердце Twisted без которого `Deffered` не работают. Или я не прав?
А unittest, как это понятно, порт оного с Java, а отсюда и такой case.
http://www.crunchgear.com/2008/07/08/omgomgomg-first-potentially-fake-iphone-3g-unboxing-omg/