Visit our site to listen to past episodes, support the show, join our Discourse community, and sign up for our mailing list.
Summary
If you are trying to build a web application in Python that can scale to a high number of concurrent users, or you want to leverage the power of websockets, then Tornado just may be the library you need. In this episode we interview Ben Darnell about his work as the maintainer of the Tornado project and how it can be used in a number of ways to power your next high traffic site.
Brief Introduction
Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.Subscribe on iTunes, Stitcher, TuneIn or RSSFollow us on Twitter or Google+Give us feedback! Leave a review on iTunes, Tweet to us, send us an email or leave us a message on Google+We are also running a listener survey to get feedback about the show. You can find it at bit.do/podcastinit-survey.I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at pythonpodcast.comLinode is sponsoring us this week. Check them out at linode.com/podcastinit and get a $20 credit to try out their fast and reliable Linux virtual servers for your next projectI would also like to thank Hired, a job marketplace for developers and designers, for sponsoring this episode of Podcast.__init__. Use the link hired.com/podcastinit to double your signing bonus to $4,000.Your hosts as usual are Tobias Macey and Chris PattiWe recently launched a new Discourse forum for the show which you can find at discourse.pythonpodcast.com. Join us to discuss the show, the episodes, and ideas for future interviews.Today we are interviewing Ben Darnell about his work on TornadoInterview with Ben Darnell
IntroductionsHow did you get introduced to Python? – ChrisWhat is Tornado and what sets it apart from other HTTP servers? – ChrisHow did you get involved with Tornado? – BenWhat was the inspiration for the name? – TobiasTornado was created before the recent focus on asynchronous applications. What prompted that design choice and when might someone care about using async in their development? – TobiasWhat is involved in creating an event loop and what are some of the specific design decisions that you made when implementing one for Tornado? – TobiasHow does Tornado’s event loop compare to other packages such as Twisted or the asyncio module in the standard library? – TobiasThe web module appears to provide a minimal framework for developing web apps. How scalable are those capabilities and is there a recommended architecture for people using Tornado to develop web applications? – TobiasWhat are some use cases in which a developer might choose Tornado over other similar options? – ChrisCould you please give our listeners an overview of Tornado’s concurrency options including coroutines? – ChrisI see that Tornado supports interoperability with the WSGI protocol and one of the use cases mentioned is for running a Django application alongside a Tornado app. Is that a common way for providing websocket capabilities alongside an existing web app? – TobiasI noticed that Tornado provides non-blocking versions of bare sockets and TCP connections. Are there any add-on packages available to simplify the use of various network protocols along the lines of what Twisted includes? – TobiasPlease tell us about the transition of Tornado to Python 3. What obstacles did you face and how did you overcome them? – ChrisBased on your issue tracker it looks like http2 support is definitely on the roadmap. Could you please detail your future plans in this area? – ChrisWhat are some of the common “gotcha’s” for people who are just starting to use Tornado? – TobiasPicks
TobiasAdventures of RileyDayworld Trilogy by Philip José FarmerSense8Habits of a Happy BrainEthereumThe Memory PalaceNewsblurKeep In Touch
Mailing ListLinks
MotorThe intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA