|
|
@ -51,13 +51,10 @@ class NonBlockHandler(RequestHandler): |
|
|
|
start, stop = api_nonblock[route] |
|
|
|
self.stopper = stop |
|
|
|
|
|
|
|
start(self.onNewMessage, last_id = self.get_argument('last_id', None)) |
|
|
|
|
|
|
|
def onNewMessage(self, response): |
|
|
|
if self.request.connection.stream.closed(): |
|
|
|
self.on_connection_close() |
|
|
|
return |
|
|
|
start(self.sendData, last_id = self.get_argument('last_id', None)) |
|
|
|
|
|
|
|
def sendData(self, response): |
|
|
|
if not self.request.connection.stream.closed(): |
|
|
|
try: |
|
|
|
self.finish(response) |
|
|
|
except: |
|
|
@ -65,10 +62,11 @@ class NonBlockHandler(RequestHandler): |
|
|
|
try: self.finish({'success': False, 'error': 'Failed returning results'}) |
|
|
|
except: pass |
|
|
|
|
|
|
|
def on_connection_close(self): |
|
|
|
self.removeStopper() |
|
|
|
|
|
|
|
def removeStopper(self): |
|
|
|
if self.stopper: |
|
|
|
self.stopper(self.onNewMessage) |
|
|
|
self.stopper(self.sendData) |
|
|
|
|
|
|
|
self.stopper = None |
|
|
|
|
|
|
|