Django Channels

Fekete György (f@pulilab.com)

pulilab.com

https://github.com/pulilab/django-channels-demo

https://slides.com/gyorgyfekete/django-channels-demo

 Channels

What problem does it solve?

 

 History

How

 

  • FIFO queue
  • at-most-once delivery
  • producer - channel - consumer
  • network transparency

How is easy?

DEMOTIME

What else ?

 

  • background tasks (instead of Celery, BUT!)
    • send emails
    • run expensive calculations
    • image thumbnails
    • etc..
  • Zero-downtime deployment
  • Extendability to other protocols or event sources (e.g. WebRTC, raw UDP, SMS)
  • Optional low-level HTTP control on a per-URL basis

Does it scale?

I WANT IT BLAZINGLY FAST

Load testing

What's next

  • improve Daphne
  • more interface servers
  • faster harder stronger
  • official Django builtin
  • write your own interface server, channel implementation

DEM SPEEDS - TEASER

NEXT MEETUP:

  • asyncio + aiohttp 
  • uvloop + httptools

Thank you!

 

https://github.com/pulilab/django-channels-demo

https://slides.com/gyorgyfekete/django-channels-demo

https://github.com/andrewgodwin/channels-examples

http://channels.readthedocs.io/

 

Django Channels demo

By György Fekete

Django Channels demo

Django Channels demo

  • 1,080