Про multiple="true" не знал и про Оперу с multipart/mixed. Так вот где он используется :)
- Анатолий Шарифулин
У opera, все что касается file-upload очень оригинально... Как с точки зрения JavaScript, так как и оказалось на уровне голого HTTP :-)
- Andrey Chernomyrdin
@ptzn затем же, зачем и терминатору текст на экране Killed: 0
- Ivan Dyachkoff
"Пользователь Елена", он кем/чем пользуется?
- nonsleepr
попсово, как раз, как надо для популярной киношки без претензий. идейно напоминает фантастику того сорта, где автомобили с атомным двигателем и передатчики гиперсвязи на радиолампах: клише, понятные эпохе. (а сбой у него в том, что линукс не может смонтировать корневую fs. развеселили отдельно.)
- 9000
Отличная идея в типичном исполнении..
- Phil Smirnov
Хрень. Все ждал, когда социальная реклама пойдет, но даже ее не было.
- consumed
и ещё. когда вы видите знакомое лицо, оно не обводится рамкой с надписью, вы просто знаете, что оно знакомое. когда вы протягиваете руку, вы не выбираете это действие из меню. полагаю, таким и будет общение с имплантами. правда, это чертовски трудно показать по телевизору.
- 9000
Я как-то переписывал входную точку с мод_перл2 на чистый моджо одного проекта, запускал как демон_префорк. Так вот памяти моджо ел меньше, чем апач. Нагрузку не мерял.
- Анатолий Шарифулин
mojo как Mojo::Server::Daemon и Mojolicious::Lite. Тестировал все варианты в один поток (в 10 потоков расстановка сил не меняется). Может выложишь свой вариант на mojo?
- Sergey Homenkow
Тогда и апач/мод_перл адо было запускать в один процесс :) Запускай mojo как daemon_prefork или fastcgi_prefork (но тут надо проксировать).
- Анатолий Шарифулин
Кстати, есть возможность запускать моджо под мод_перлом, я только не пробовал
- Анатолий Шарифулин
apache был с MaxClients 1. Всё честно. Там всё вокруг XS-ое. Так что не мудрено.
- Sergey Homenkow
Как часто ты пишешь приложения вида хеллоу-ворд? :) Надо тестировать код, содержащий разбор параметров и тела запроса, выполнение каких-нибудь действий и рендеринг. Будет два варианта: асинхронный и синхронный. Результаты будут интересными :)
- Анатолий Шарифулин
Меня интересовал оверхед, который даёт фреймворк. Про разбор параметров согласен. Буду бенчмаркать /sum?a=3&b=4. Если POE медленее в 10 раз, зачем такая асинхронность? Лучше я сделаю в 2-5 раз больше синхронно.
- Sergey Homenkow
сырой PSGI под Plack-ом рвёт всех, но не парсит query_string :)
- Alex Kapranoff
Для POE: use POE qw(XS::Queue::Array Loop::IO_Poll). Не честно в PSGI использовать такую регекспу. В Mojo логи пишутся, а в остальных нет :) Есть сводная таблица?
- Анатолий Шарифулин
POE ~560 и не меняется от магических XS и IO. Вообще XS::Queue::Array подцепляется автоматом в POE::Kernel. В mod_perl2 ~4800. Допилим код, выложим сводную. Посмотри плиз реализации на mojo*. Что можно улучшить? Можно ли отключить логирование? Как production моде включить из скрипта?
- Sergey Homenkow
Apache2::Mojo не совместим с последней версией Mojo.
- Sergey Homenkow
Вообще изначальная цель: сравнение оверхеда фреймворков для продакшена. Так что никаких парсингов URI регекспами. Ну и стабильные модули. Для Mojo сделано исключение. Впрочем он пока аутсайдер. PS. Надо погонять всё что можно под fastcgi.
- Sergey Homenkow
Сделал версию на PSGI без читинга. Парсит параметры через CGI::PSGI. Производительность упала на 30%, но всё равно быстрее остальных. Запускаю через Plack, он подхватывает AnyEvent-бэкенд, который в свою очередь подхватывает EV-бэкенд. (см. httpd-cgipsgi.pl на gh)
- Alex Kapranoff
Добавил пару fcgi реализаций. Чистый fcgi у меня даёт ~3000.
- Sergey Homenkow
А я в NginxSum.pm сделал 4 реализации на nginx-овском Перле. Самая крутая даёт ~8500 с кипалайвом :)
- Alex Kapranoff
А ещё я написал такой sum-сервер на френдфидовском Торнадо. ~2700 с кипалайвом, что в общем, даёт нам определённую надежду :)
- Alex Kapranoff
@kkapp а NginxSum без кипалайва сколько? и у тебя worker_processes == 1?
- Sergey Homenkow
Без -k получается 3000-5000. worker_process 1.
- Alex Kapranoff
Т.е. nginx + perl – самая лучшая реализация? И никакие фреймворки не нужны :)
- Анатолий Шарифулин
Понять, где у него тормоза и починить. Делают-то они все одно и то же. Мне в последнее время очень нравятся микрофреймворки типа Dancer или Squatting. Попробуй, кстати :)
- Alex Kapranoff
Вообще, если считать, что хорошее время ответа веб-приложения 100ms, оверхед в 2-4% вполне допустим. Но, конечно, 0.125% приятнее.
- Sergey Homenkow
from fftogo
Dancer – по синтаксису похож на моджолишес-лайт, но функционал скуднее. Squatting надо попробовать. Меня PSGI заинтересовал, только я не понимаю его суть, чем отличается от нжинс-перла?
- Анатолий Шарифулин
Примерно всем :) PSGI — это протокол между веб-сервером и веб-приложением типа CGI. Вместо %ENV используется прямой перловый вызов, вместе STDOUT — возвращаемое значение. Сейчас есть несколько серверов, умеющих PSGI — родной Plack, nginx через патч, Apache2 через спец-handler. И несколько фреймворков — (точнее, уже почти под всё написали PSGI-адаптеры).
- Alex Kapranoff
как они это делают? сетку на окна приколотить, да? (думаю о своей малявке). пусть поправляется )
- Jolly Slyness
Конечно, всегда обязательно сетку нужно натягивать. Хищники - они такие, им всё равно.
- Dmitri Fedoruk
На окна легко сделать, а вот если балкон не застеклён, то там почти никак. Не пускать туда.
- Alex Kapranoff
У меня кошка с четвертого падала на крышу подъезда, теперь у нее 8м жизней :) В моем случае все хорошо, только она испугалась. Все должно быть хорошо, это кошка.
- Анатолий Шарифулин
ух блин. с 5-го обычно все легко проходит. тяжелая была? у нас у друзей кот с 13-го улетел - ничего не сломал
- Kirill Petrovsky
Как я понимаю, ты из nginx не проксируешь запрос на свой перловый демон, который будет сам разбирать запрос, а сразу вызываешь обработчик и передаешь ему уже разобранный объект запроса.
- Анатолий Шарифулин
Hi Alex, are you a nginx committer? With this patch (and PSGI/Plack) the way Perl web applications work would dramatically change: all PSGI compatible web applications such as Catalyst would run natively inside nginx embedded perl, right? :)
- Tatsuhiko Miyagawa
My hope considers taking in to core of nginx, after this hack settles down.
- kazuhiro osawa
Miyagawa, no, I'm not, although Igor (the author) is my friend. He says that ngx_http_perl_module is not very stable by itself. I'm still going to give nginx-psgi a try.
- Alex Kapranoff
I wonder what the engineering decision was to not use a WSGI interface.
- mikepk
mikepk: it supports WSGI, but it is not WSGI by default because WSGI does not support non-blocking I/O for things like hanging connections. See http://www.tornadoweb.org/documen....
- Bret Taylor
This actually is a very good piece of code! Thanks folks!
- directeur
cool, Bret, thanks :) I was just heading through the docs now.
- mikepk
Thanks for doing this, Bret! That's some pretty cool stuff.
- Keith Bourgoin
I'm hacking my own python web framework at the moment, so now the choice on whether I want to switch gears to this or not. I'm liking what I see so far.
- mikepk
Nice new title Brett.."Facebook Director of Products".. a good sign of things to come!
- Chris Myles
very very glad to hear this bit: "Tornado is a core piece of infrastructure that powers FriendFeed's real-time functionality, which we plan to actively maintain."
- Chris Heath
A very good project!...you know if will be possibile to use Tornado with other technogies except Python (such as JEE, Ruby On Rails, etc.)?
- Nicola Junior Vitto
Cristo: we tried to use the official Python coding conventions, though we may have inadvertently strayed. Those conventions are: ClassNames, method_names, variable_names
- Bret Taylor
Brilliant! I hope you can provide very valuable input for the next round of #python WSGI, which desperately needs a next round ;)
- Uche Ogbuji
thx Mike, but this is a kind of eventmachine (that sounds good) for Ruby, not a Tornado client or wrapper...isn't it?
- Nicola Junior Vitto
Excellent! Thank you. Was eagerly waiting for the day to come after looking this just 1 month ago; "changeset: 5afb8a445cad / date: 2009-08-11 16:34:48 / description: Initial open source packages" http://changelog.friendfeed.com/2009...
- NaHi
from f2p
Chris, yes it is fixed.. I swear it was broken ..
- Onur Gündüz
Ohhh, ummm, btw, your underhanded behind the scenes sell out still rankles my human decency, & a lot of others too, as should yours...thumbs down/dislike x 47.5 million dollars, however not being bitter of course, keep ignorance & bliss
- sofarsoShawn
@bret just out of curiosity - what would necessitate usage of such an engine for a *personal* project? :)
- Michael Bravo
Michael: it is a nice framework to use for any project in my opinion (though I am clearly biased). If you are doing anything real-time like the chat demo, something like Tornado is certainly necessary/useful regardless of the size of the project.
- Bret Taylor
from email
@bret and for little-sized hardware? should have try it on Maemo based :)))
- A.T.
@silpol I kinda fail to see Maemo devices being used for servers (unless it's some kind of satellite-based or other covert server maybe :) )
- Michael Bravo
from IM
@mbravo you never know... there are some unusual (and cool) apps for web servers, granted you abstain (on purpose) from classical models, e.g.server farm somewhere there and herds of clients connecting to it...
- A.T.
Bret: Cool, thanks. Just out of curiosity, which flavour of Linux is preferred by FriendFeed?
- Diego Barros
I think this is the best answer for the ultimate question: "Does python needs yet another web framework?" While most of us would say why, when one come across this, a real world proven technology, serving zillions of pages a day, one would say, well, why not. actually, why not even take it an try to integrate out next web app with it? great job! seems like joining FB won't do you any harm ;-)
- Tzury Bar Yochay
@kkap, 1. XML для раша ру на раннем Mojolicious и TT, 2. Сайт-блог на новом Mojolicious и epl, 3. Сервер для айПробок на Mojo. Пока нравится, совершенство близко и стабильная версия тоже :)
- Анатолий Шарифулин
4. API-сервер на Mojolicious::Lite + JSON. 1 файл, 192 строчки – очень легко и очень работает :)
- Анатолий Шарифулин
"He got privileges to the CGI.pm bug queue and has closed 100 of the 150 bugs in the queue." Обновляйтесь на версию 3.45, если вы еще используете этого монстра :)
- Анатолий Шарифулин
from Bookmarklet
Вконтакт не выдает больше 500 пользователей по запросу Все. Я нашел лазейку, с помощью которой в первый день собрал 1к+, второй – уже 2к+ и третий – 3к+. К сожалению, всех я наверно не соберу, по экспоненте убывает :)
- Анатолий Шарифулин
Мониторинг он-лайн и новых :) Кстати, вконтакт не дает делать больше одного запроса в секунду банит по логину.
- Анатолий Шарифулин