Websocket support for Django using Redis as datastore
Project description
Project home: https://github.com/jrief/django-websocket-redis
Detailed documentation on: ReadTheDocs.
Websockets for Django using Redis as message queue
This module implements websockets on top of Django without requiring any additional framework. For messaging it uses the Redis datastore and in a production environment, it is intended to work under uWSGI and behind NGiNX.
Features
Largely scalable for Django applications with hundreds of open websocket connections.
Runs in a cooperative concurrency model using gevent, thus only one thread/process is simultaneously required to control all open websockets.
Full control over the main loop during development, so Django can be started as usual with ./manage.py runserver.
No dependency to any other asynchronous event driven framework, such as Tornado, Twisted or Node.js.
Optionally persiting messages, allowing server reboots and client reconnections.
The only additional requirement is a running instance of Redis, which by the way is a good replacement for memcached.
Build status
Questions
Please use the issue tracker to ask questions.
License
Release History
0.2.1 - Reverted issue #1 and dropped compatibility with Django-1.4 since the response status must use force_str.
0.2.0 - Major API change
Use WS4REDIS_… in Django settings
Persist messages, allowing server reboots and reconnecting the client
Share the file descriptor for Redis for all open connections
Allow to override the subscribe/publish engine
0.1.2 - fixed: Can use publish to websocket without subscribing
0.1.1 - instead of CLI monkey patching, explicitly patch the redis.connection.socket using gevent.socket
0.1.0 - initial revision
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for django-websocket-redis-0.2.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac9eeb13d25dbedec642e272b4e4f5b8e8acbc99ed1a6b6046c2d4410e89e67d |
|
MD5 | 1193e5254acb8a2406916e7c121576f7 |
|
BLAKE2b-256 | dfc3da9bc8159514dd8bb4cdf2b29244ce23acc7d8ffb6a81d5032185e21bcdb |