似乎Group和channel_session可以跨多个消息会话和消费者持久存在。Channels是如何实现这一点的?
我想设置一个长期存在的对象,类似于全局对象,可被每个消费者访问。
@channel_session_user_from_http
def ws_connect(message):
# Add them to the right group
message.channel_session['room'] = 'room name'
Group("chat-%s" % message.user.username[0]).add(message.reply_channel)
@channel_session_user
def ws_disconnect(message):
if 'room' in message.channel_session:
print('room====', message.channel_session['room'])
Group("chat-%s" % message.user.username[0]).discard(message.reply_channel)
我想设置一个长期存在的对象,类似于全局对象,可被每个消费者访问。
message.session.myobject = {'test': True}
? - zerohedgeSessionStore
获取会话。https://docs.djangoproject.com/en/2.0/topics/http/sessions/#using-sessions-out-of-views - Nick Sweetingscope["session"].save()
,将任何修改保存回HTTP会话中,并且该会话可以从视图中访问。 - Nick Sweeting