I would like to know how to count the number of clients in a Django Channels Group in order to restrict the number of connected clients for example.
I tried to look in the code of Group object but I had no success.
Here my 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})
I dug around the source code a little bit and found the group_channels
method. Try:
len(Group('guis').channel_layer.group_channels('guis'))
I don't know if this is the right way to do it or if it will work for all backends but at least it is a starting point.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With