EuroPython 2016

Asynchronous network requests in a web application

Speaker(s) Lauris Jullien

In the more and more popular SOA paradigm, it’s common for services to have to compose responses with resources from many different services. Everyone’s first idea will probably be to call each service synchronously with your favorite python HTTP library. This unfortunately doesn’t scale well and tens of successive network calls will make your endpoints painfully slow.

One solution is to parallelize these network calls. If you are already using an asynchronous web app (such as Tornado or Twisted), more asynchronous in your asynchronous shouldn’t be much of a challenge. But if you chose not to dive into the madness of chained Deferred calls, and used a standard prefork/threaded WSGI web server (such as Gunicorn or uWSGI) to run your Django/Flask/Pyramid application, you might find yourself wondering how to manage these asynchronous calls.

This talk will explore different solutions (running Twisted event loop, Co-Routines, Asyncio, …) and how well they play with the different parallelization models of WSGI web servers.

in on Thursday 21 July at 10:30 See schedule

Comments

  1. Gravatar
    Slides: https://docs.google.com/presentation/d/1QRrbUPNWjTzoiNYkwBPBo3z3jY5EsXitFIZSx-xsSsI/edit?usp=sharing

    Code:
    https://github.com/laucia/europython_2016
    — Lauris Jullien,

New comment