Tornado (web server)

Tornado
Original author(s)FriendFeed
Developer(s)Ben Darnell, Meta, Bret Taylor
Initial release2009; 15 years ago (2009)
Stable release
6.4.2[1] Edit this on Wikidata / 22 November 2024; 27 days ago (22 November 2024)
RepositoryTornado Repository
Written inPython
Operating systemCross-platform
Available inEnglish
TypeWeb server
LicenseApache licence 2.0
Websitewww.tornadoweb.org Edit this on Wikidata

Tornado is a scalable, non-blocking web server and web application framework written in Python.[2] It was developed for use by FriendFeed; the company was acquired by Facebook in 2009 and Tornado was open-sourced soon after.[3]

Performance

Tornado is noted for its high performance. Its design enables handling a large number of concurrent connections (i.e., tries to solve the "C10k problem").

Modules

  • An asynchronous MongoDB driver called Motor.
  • CouchDB drivers called corduroy and trombi.
  • Asynchronous driver for PostgreSQL wrapping psycopg called Momoko

Example

The following code shows a simple web application that displays "Hello World!" when visited:[4]

import asyncio

import tornado.web

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world")

def make_app():
    return tornado.web.Application([(r"/", MainHandler),])

async def main():
    app = make_app()
    app.listen(8888)
    await asyncio.Event().wait()

if __name__ == "__main__":
    asyncio.run(main())

See also

References

  1. ^ "Release 6.4.2". 22 November 2024. Retrieved 1 December 2024.
  2. ^ "Home - tornado - GitHub". GitHub. Retrieved 2009-09-10.
  3. ^ "Facebook open-sources real-time FriendFeed facet". CNet. Archived from the original on 2012-01-30. Retrieved 2009-09-10.
  4. ^ "Hello, world". Retrieved 2022-09-14.