Newbie to twisted an cyclone - how to get redis callbacks to work for a simple get request
Below is my code for trying to redis in a non blocking method from a get request to write to redis.  Also below is the the error I get.  It a 500 error. I just dont understand the documenation for txredisapi that shipped with cyclone.  It did write to redis but the app 


    import cyclone.web
    import sys
    from twisted.internet import reactor
    from twisted.python import log
    import cyclone.redis as redis
    from twisted.internet import defer
    from twisted.internet import reactor
    
    @defer.inlineCallbacks
    def redisPixelWrite(remote_ip):
        rc = yield redis.Connection()
        yield rc.set("foo", 'itwodasdfred')
        v = yield rc.get("foo")
        print "foo:", v
        yield rc.disconnect()
        
    class Application(cyclone.web.Application):
        def __init__(self):
            handlers = [
                (r"/", MainHandler),
            ]
            settings = {"xheaders": True,"static_path": "./static"}
            cyclone.web.Application.__init__(self, handlers, **settings)       
          
    class MainHandler(cyclone.web.RequestHandler):
        def get(self):
            remote_ip = self.request.remote_ip
            redisPixelWrite(remote_ip).addcallback()
            self.set_header('Content-Type', 'text/html')
            self.write(remote_ip)
            
    def main():
        log.startLogging(sys.stdout)
        reactor.listenTCP(8051, Application(), interface="127.0.0.1")
        reactor.run()
        
    if __name__ == "__main__":
        main()


    2012-05-07 21:12:10+0800 [-] Log opened.
    2012-05-07 21:12:10+0800 [-] Application starting on 8051
    2012-05-07 21:12:10+0800 [-] Starting factory <__main__.Application instance at 0x228af38>
    2012-05-07 21:12:14+0800 [HTTPConnection,0,127.0.0.1] Starting factory <cyclone.redis.RedisFactory instance at 0x261a680>
    2012-05-07 21:12:14+0800 [HTTPConnection,0,127.0.0.1] Uncaught exception GET / (127.0.0.1) :: HTTPRequest(protocol='http', host='127.0.0.1:8051', method='GET', uri='/', version='HTTP/1.1', remote_ip='127.0.0.1', body='', headers={'Connection': 'keep-alive', 'Accept-Language': 'en-us,en;q=0.5', 'Accept-Encoding': 'gzip, deflate', 'Cache-Control': 'max-age=0', 'Host': '127.0.0.1:8051', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0'})
    2012-05-07 21:12:14+0800 [HTTPConnection,0,127.0.0.1] 500 GET / (127.0.0.1) 2.07ms
    2012-05-07 21:12:14+0800 [RedisProtocol,client] foo: itwodasdfred
    2012-05-07 21:12:14+0800 [RedisProtocol,client] Stopping factory <cyclone.redis.RedisFactory instance at 0x261a680>




Newbie to twisted an cyclone - how to get redis callbacks to work for a simple get request
===

Below is my code for trying to redis in a non blocking method from a get request to write to redis.  Also below is the the error I get.  It a 500 error. I just dont understand the documenation for txredisapi that shipped with cyclone.  It did write to redis but the app 


    import cyclone.web
    import sys
    from twisted.internet import reactor
    from twisted.python import log
    import cyclone.redis as redis
    from twisted.internet import defer
    from twisted.internet import reactor
    
    @defer.inlineCallbacks
    def redisPixelWrite(remote_ip):
        rc = yield redis.Connection()
        yield rc.set("foo", 'itwodasdfred')
        v = yield rc.get("foo")
        print "foo:", v
        yield rc.disconnect()
        
    class Application(cyclone.web.Application):
        def __init__(self):
            handlers = [
                (r"/", MainHandler),
            ]
            settings = {"xheaders": True,"static_path": "./static"}
            cyclone.web.Application.__init__(self, handlers, **settings)       
          
    class MainHandler(cyclone.web.RequestHandler):
        def get(self):
            remote_ip = self.request.remote_ip
            redisPixelWrite(remote_ip).addcallback()
            self.set_header('Content-Type', 'text/html')
            self.write(remote_ip)
            
    def main():
        log.startLogging(sys.stdout)
        reactor.listenTCP(8051, Application(), interface="127.0.0.1")
        reactor.run()
        
    if __name__ == "__main__":
        main()


    2012-05-07 21:12:10+0800 [-] Log opened.
    2012-05-07 21:12:10+0800 [-] Application starting on 8051
    2012-05-07 21:12:10+0800 [-] Starting factory <__main__.Application instance at 0x228af38>
    2012-05-07 21:12:14+0800 [HTTPConnection,0,127.0.0.1] Starting factory <cyclone.redis.RedisFactory instance at 0x261a680>
    2012-05-07 21:12:14+0800 [HTTPConnection,0,127.0.0.1] Uncaught exception GET / (127.0.0.1) :: HTTPRequest(protocol='http', host='127.0.0.1:8051', method='GET', uri='/', version='HTTP/1.1', remote_ip='127.0.0.1', body='', headers={'Connection': 'keep-alive', 'Accept-Language': 'en-us,en;q=0.5', 'Accept-Encoding': 'gzip, deflate', 'Cache-Control': 'max-age=0', 'Host': '127.0.0.1:8051', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0'})
    2012-05-07 21:12:14+0800 [HTTPConnection,0,127.0.0.1] 500 GET / (127.0.0.1) 2.07ms
    2012-05-07 21:12:14+0800 [RedisProtocol,client] foo: itwodasdfred
    2012-05-07 21:12:14+0800 [RedisProtocol,client] Stopping factory <cyclone.redis.RedisFactory instance at 0x261a680>



