2017-07-04 2 views
3

Je voudrais savoir comment compter le nombre de clients dans un groupe Django Channels afin de limiter le nombre de clients connectés par exemple.Comment compter le nombre de clients dans un canal Django Groupe

J'ai essayé de regarder dans le code de l'objet Groupe mais je n'ai pas eu de succès.

Voici mon code:

import re 
import json 
from channels import Group 
from channels.sessions import channel_session 
from login import login 


@channel_session 
def ws_connect(message): 

    print "Connected" 


    if Group("guis").count() > 10: # NOT POSSIBLE 

     Group("guis").add(message.reply_channel) 
     message.reply_channel.send({'accept': True}) 

    else: 
     message.reply_channel.send({'accept': True}) 

Répondre

1

Je fouilla le code source un peu et trouvé la méthode group_channels. Essayez:

len(Group('guis').channel_layer.group_channels('guis')) 

Je ne sais pas si cela est la bonne façon de le faire ou si cela fonctionnera pour tous les backends, mais au moins il est un point de départ.