def open(self, user_id):
self.client = tornadoredis.Client()
self.client.connect()
session_key = self.get_cookie(settings.SESSION_COOKIE_NAME)
session = session_engine.SessionStore(session_key)
try:
self.user_id = session["_auth_user_id"]
if user_id != self.user_id:
raise User.DoesNotExist
self.username = User.objects.get(id=self.user_id).username
except (KeyError, User.DoesNotExist):
self.close()
return
thread_list = Thread.objects.filter(
participants__id=self.user_id
).all()
self.channel_list = ['user_{}'.format(self.user_id)]
for thread in thread_list:
self.channel_list.append("thread_{}_messages".format(thread.id))
yield tornado.gen.Task(self.client.subscribe, self.channel_list)
self.client.listen(self.resend_response)
评论列表
文章目录