Tornado - версія расширяемого, неблокуючим веб-сервера з відкритим вихідним кодом і засобів, на яких працює FriendFeed . Додаток FriendFeed написано з використанням веб-фреймворку, в деякій мірі схожого на web.py або Google's webapp , Але з додатковими засобами і оптимізацією для отримання переваг використання неблокірующіх інфраструктури.
Фреймворк Tornado відрізняється від більшості фреймворків веб-серверів (і, зрозуміло, більшості Python-фреімворков), так як він неблокірующій і досить швидкий. Tornado неблокірующій і використовує epoll , Він може обробляти тисячі одночасних постійних підключень, що робить його ідеальним рішенням для веб-сервісів реального часу. Цей веб-сервер спеціально розроблений для обслуговування можливостей, які потребують роботи в реальному часі - кожен активний користувач FriendFeed підтримує відкрите з'єднання з серверами FriendFeed. (Для отримання більш детальної інформації щодо масштабування серверів зверніться до статті C10K problem .)
Ви можете ознайомитися з Документацією по Tornado для детального знайомства з фреймворком.
Дана стаття пропонує короткий вступ в Tornado.
Завантаження і установка Tornado
Завантаження: tornado-0.1.tar.gz
tar xvzf tornado-0.1.tar.gz cd tornado-0.1 python setup.py build sudo python setup.py install
Вихідний код Tornado .
передумови
Tornado перевірений на Python 2.5 і 2.6. Для використання усіх можливостей Tornado, Вам будуть потрібні встановлені PycURL і бібліотека JSON типу simplejson . Детальні інструкції по установці для Mac OS X і Ubuntu наведені нижче для Вашої зручності.
Mac OS X 10.5 / 10.6
sudo easy_install setuptools pycurl == 7.16.2.1 simplejson
Ubuntu Linux
sudo apt-get install python-dev python-pycurl python-simplejson
Hello, world
Наведемо класичний приклад додатка "Hello, world" для Tornado:
import tornado.httpserver import tornado.ioloop import tornado.web class MainHandler (tornado.web.RequestHandler): def get (self): self.write ( "Hello, world") application = tornado.web.Application ([(r " / ", MainHandler),]) if __name__ ==" __main__ ": http_server = tornado.httpserver.HTTPServer (application) http_server.listen (8888) tornado.ioloop.IOLoop.instance (). start ()
ознайомтеся з Документацією по Tornado .
Обговорення та підтримка
Ви можете обговорити Tornado і повідомити про помилки в списку розсилки розробки Tornado .
Tornado - одна з технологій Facebook з відкритим вихідним кодом . Це програмне забезпечення доступне по Apache Licence, Version 2.0 .
Вся документація поширюється під ліцензією Creative Commons 3.0 .
оригінал статті Tornado , Переклад КОМТЕТ komtet.ru