Flask中使用redis的pub,sub例子

原文地址:
http://peter-hoffmann.com/stackoverflow/12236019.html

flask相关代码:
def event_stream():
pubsub = red.pubsub()
pubsub.subscribe(‘chat’)
for message in pubsub.listen():
print message
yield ‘data: %s\n\n’ % message[‘data’]

@app.route(‘/post’, methods=[‘POST’])
def post():
message = flask.request.form[‘message’]
user = flask.session.get(‘user’, ‘anonymous’)
now = datetime.datetime.now().replace(microsecond=0).time()
red.publish(‘chat’, u’[%s] %s: %s’ % (now.isoformat(), user, message))

@app.route(‘/stream’)
def stream():
return flask.Response(event_stream(),
mimetype=”text/event-stream”)
然后再在启动的时候增加线程支持:
if name == ‘main‘:
app.debug = True
app.run(threaded=True)