juggernaut
Dead simple Python library that connects to a juggernaut via redis. It also provides a very basic roster implementation that can be used as a daemon process to manage online users.
Basic usage
How to send a message to all subscribers of a channel:
from juggernaut import Juggernaut
jug = Juggernaut()
jug.publish('channel', {'message': 'Hello World!'})
Connection Events
Juggernaut also allows you to subscribe to events (new subscription, unsubscribe event) so that you can respond to users going online and offline:
from juggernaut import Juggernaut
jug = Juggernaut()
for event, data in jug.subscribe_listen():
if event == 'subscribe':
...
elif event == 'unsubscribe':
...
Since this is quite common this library also implements a Roster that can group multiple connections to the same user. For grouping this it uses a key in the meta part of the message. The default is user_id in the meta object.
Example usage:
from juggernaut import Juggernaut, RedisRoster jug = Juggernaut() roster = RedisRoster(jug) roster.run()
By default it keeps the number of online users in redis so that you can use the roster class to see if users are online:
>>> roster.get_online_users() [42, 23] >>> roster.is_user_online(42) True >>> roster.is_user_online(99) False
If you want to respond to users signing in and out you need to override the on_signed_in and on_signed_out methods:
class MyRoster(RedisRoster):
def on_signed_in(self, user_id):
print 'User signed in', user_id
def on_signed_out(self, user_id):
print 'User signed out', user_id
You can for instance use juggernaut to broadcast that to other users that signed in.
- copyright:
2011 by Armin Ronacher.
- license:
BSD, see LICENSE for more details.
Release files for juggernaut 0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| juggernaut-0.2.tar.gz | 3.7 kB | Details |
Release files / juggernaut-0.2.tar.gz
| Download URL | juggernaut-0.2.tar.gz |
|---|---|
| Size | 3.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4686cd4701279e01027a01fc9890dd52eb219450c10f961f8aaf8bf1f6bd9684
|
|
BLAKE2b-256 checksum How to use checksums |
793f6cd76096170ce0b6fb520bca2f11f42c06cd39c4db10e38e24526bbffd59
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |