Async Django
2022-07-14 , Wicklow Hall 1

Python has a full set of tools for asynchronous programming - multiprocessing, multithreading, coroutines, etc. And Django uses most of them.

Since Django 3, we have the ability to create fully async non-blocking Django views that could handle thousands of requests concurrently.

In this talk, we'll focus on 2 key topics:
1. The motivation and the decisions behind the Django async support
2. Choosing the right tools to make our views async and efficient


This talk will cover:

  1. What is the difference between asynchrony and concurrency?
  2. Python and Django tools for asynchronous programming.
  3. Examples of efficient and inefficient "async" Django views.
  4. How does Django handle requests asyncronously - the path from NGINX to the database
  5. How should we handle thread-blocking operations?
  6. A brief history and roadmap of Django's async support

Expected audience expertise: Domain:

expert

Expected audience expertise: Python:

some

Abstract as a tweet:

Tools and tips for implementing async non-blocking Django Views

Currently working as Technical team lead in HackSoft in Bulgaria.

A programmer for ~7 years, working with Python and DJango for 6 years.

Speaker at EuroPython 2018 and PyCon Balkan 2018.