simonbru / channels-redis-issue

Micro project to reproduce issue with channels-redis

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Setup

Optional: modify Dockerfile to override version of channels-redis

Build and start:

docker-compose build
docker-compose up

Check that basic consumer works

curl --http1.1 -v \
  -H 'Upgrade: websocket' \
  -H 'Connection: Upgrade' \
  -H 'Sec-WebSocket-Key: pM1jwIzQ+y37rax5wirNog==' \
  -H 'Sec-WebSocket-Version: 13' \
  'http://localhost:8001/ws/ok/'

Try consumer that denies requests

curl --http1.1 -v \
  -H 'Upgrade: websocket' \
  -H 'Connection: Upgrade' \
  -H 'Sec-WebSocket-Key: pM1jwIzQ+y37rax5wirNog==' \
  -H 'Sec-WebSocket-Version: 13' \
  'http://localhost:8001/ws/denied/'

Trigger leak of redis connections

while true; do curl --http1.1 -v \
  -H 'Upgrade: websocket' \
  -H 'Connection: Upgrade' \
  -H 'Sec-WebSocket-Key: pM1jwIzQ+y37rax5wirNog==' \
  -H 'Sec-WebSocket-Version: 13' \
  'http://localhost:8001/ws/denied/'
done

Show open redis connections

docker-compose exec app sh -c "lsof -c daphne | grep :6379"

Open Django shell

docker-compose exec app django-admin shell

About

Micro project to reproduce issue with channels-redis


Languages

Language:Python 63.2%Language:Dockerfile 36.8%