Example #1
0
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
Example #2
0
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
Example #3
0
    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)
Example #4
0
    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)