我有一个消费者
class BingoConsumer(WebsocketConsumer):
logged_in = 0
def connect(self):
async_to_sync(self.channel_layer.group_add)(
"login", self.channel_name
)
self.accept()
def disconnect(self, close_code):
async_to_sync(self.channel_layer.group_discard)(
"login", self.channel_name
)
self.logged_in -= 1
def receive(self, text_data):
text_data = json.loads(text_data)
if text_data['type'] == 'login':
self.logged_in += 1
async_to_sync(self.channel_layer.group_send)(
"login", {
'type': 'login',
'count': self.logged_in,
}
)
def login(self, event):
self.send(text_data=json.dumps({
'type': 'login',
'total': event['count'],
}))
每次用户登录我的网站时都会调用它,它会自动调用类型为“登录”的 websocket。我想跟踪当前登录的用户数量,但目前无论有多少人登录,它仍然是 1。这让我想知道,Django 是否将消费者视为单一使用类?它会根据需要创建它们并销毁它们吗?
POPMUISE
相关分类