跳转到主要内容

juggernaut的客户端库。

项目描述

一个简单的Python库,通过redis连接到juggernaut。它还提供了一个非常基本的名单实现,可以用作守护进程来管理在线用户。

基本用法

如何向某个频道的所有订阅者发送消息

from juggernaut import Juggernaut
jug = Juggernaut()
jug.publish('channel', {'message': 'Hello World!'})

连接事件

juggernaut还允许您订阅事件(新订阅、取消订阅事件),以便您可以对用户上线和离线做出响应

from juggernaut import Juggernaut
jug = Juggernaut()
for event, data in jug.subscribe_listen():
    if event == 'subscribe':
        ...
    elif event == 'unsubscribe':
        ...

由于这是很常见的,因此这个库还实现了一个名单,可以将同一用户的多条连接分组。为此,它使用消息元部分的键。默认情况下,在元对象中为user_id

示例用法

from juggernaut import Juggernaut, RedisRoster
jug = Juggernaut()
roster = RedisRoster(jug)
roster.run()

默认情况下,它会在redis中保存在线用户数量,这样您就可以使用名单类来查看用户是否在线

>>> roster.get_online_users()
[42, 23]
>>> roster.is_user_online(42)
True
>>> roster.is_user_online(99)
False

如果您想对用户登录和注销做出响应,则需要重写on_signed_inon_signed_out方法

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

您可以使用juggernaut向其他登录的用户广播

版权
  1. 2011年,Armin Ronacher。

许可证

BSD,有关更多详细信息,请参阅LICENSE。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

juggernaut-0.2.tar.gz (3.7 kB 查看散列值)

上传于 来源