def performQuery(mq, queryQueue, request): retQueue = queue.randomQueueName('credentials') d = defer.Deferred() def _handleMsg(mq, m): mq.unsubscribe(retQueue) ret = json.loads(m.body) if ret['success']: return d.callback(ret['data']) else: d.errback(queue.RemoteError(ret['data']['name'], ret['data']['msg'], ret['data']['stacktrace'])) mq.subscribe(_handleMsg, retQueue) mq.send(queryQueue, json.dumps(func.updateDict(request, {'return_queue': retQueue}))) return d
def performQuery(mq, queryQueue, request): retQueue = queue.randomQueueName('credentials') d = defer.Deferred() def _handleMsg(mq, m): mq.unsubscribe(retQueue) ret = json.loads(m.body) if ret['success']: return d.callback(ret['data']) else: d.errback( queue.RemoteError(ret['data']['name'], ret['data']['msg'], ret['data']['stacktrace'])) mq.subscribe(_handleMsg, retQueue) mq.send(queryQueue, json.dumps(func.updateDict(request, {'return_queue': retQueue}))) return d
def render_GET(self, request): if 'request' not in request.args or not request.args['request']: return MissingRequestError() req = json.loads(request.args['request'][0]) retQueue = queue.randomQueueName('www-data') newReq = func.updateDict(req, dict(return_queue=retQueue, user_name=req.get('user_name', 'guest'))) d = defer.Deferred() def _timeout(): d.errback(Exception('Waiting for request failed')) delayed = reactor.callLater(TIMEOUT, _timeout) def _handleMsg(mq, m): try: d.callback(m.body) except Exception, err: log.err(err)
def render_GET(self, request): if 'request' not in request.args or not request.args['request']: return MissingRequestError() req = json.loads(request.args['request'][0]) retQueue = queue.randomQueueName('www-data') newReq = func.updateDict( req, dict(return_queue=retQueue, user_name=req.get('user_name', 'guest'))) d = defer.Deferred() def _timeout(): d.errback(Exception('Waiting for request failed')) delayed = reactor.callLater(TIMEOUT, _timeout) def _handleMsg(mq, m): try: d.callback(m.body) except Exception, err: log.err(err)