title: how to get tornadoredis listen value
body: <p>I want to write a chat demo with tornado and redis.  I use redis subscribe , but what I wrote is not work .   when I run the code , iterm output </p>
  
  <pre><code>listening 8000
  GroupChat here
  getMsg here
  None
  None
  </code></pre>
  
  <p>And I PUBLISH testc helloword in redis-cli, iterm output:</p>
  
  <pre><code>[I 150401 18:30:57 web:1825] 304 GET /groupchat?key=testc (127.0.0.1) 2.40ms
  Message(kind=u'message', channel=u'testc', body=u'helloword', pattern=u'testc')
  </code></pre>
  
  <p>I just want to get the Message in GroupChat.get , but I get None. anyone help me?</p>
  
  <p>GroupChat code is here : </p>
  
  <pre><code>class GroupChat(tornado.web.RequestHandler):
      def initialize(self):
          print 'GroupChat here'
          self.c = tornadoredis.Client(host=CONFIG['REDIS_HOST'], port=CONFIG['REDIS_PORT'], password=CONFIG['REDIS_AUTH'])
          self.channelMsgModel = channelMsgModel(self.c)
      @tornado.gen.coroutine
      def get(self):
          try:
              key = self.get_argument('key')
              info = yield self.channelMsgModel.getMsg(key)
              print info
              self.finish(info)
          except Exception, e:
              print e
          pass
  </code></pre>
  
  <p>channelMsgModel code is here : </p>
  
  <p>import tornado.gen</p>
  
  <pre><code>class channelMsgModel :
      timeout = 10
      def __init__(self, redisobj):
          self.redisobj = redisobj
  
      @tornado.gen.coroutine
      def getMsg(self, key):
          print 'getMsg here'
          yield tornado.gen.Task(self.redisobj.subscribe, key)
          info = self.redisobj.listen(self.on_message)
          print info
          raise tornado.gen.Return(info)
  
      def on_message(self, msg):
          if (msg.kind == 'message'):
              print msg
              return msg
          elif (msg.kind == 'unsubscribe'):
              self.redisobj.disconnect()
              # raise tornado.gen.Return(False)
  </code></pre>