from meinheld import server, patch patch.patch_socket() import greenlet main_greenlet = greenlet.getcurrent() import redis def sleep(sec): server.schedule_call(greenlet.getcurrent().switch) main_greenlet.switch() def writer(): con = redis.Redis() while True: print "sending" con.publish('test_pubsub', 'hello') print "sent" sleep(1) def reader(): con = redis.Redis() pubsub = con.pubsub() pubsub.subscribe('test_pubsub') for msg in pubsub.listen(): print msg server.spawn(writer) server.spawn(reader) def dummy_app(env, start): start("200 OK", [('Content-Type', 'text/plain')]) return ['Hello'] server.listen("127.0.0.1:8081") server.run(dummy_app)