Ejemplo n.º 1
0
def bulkindex():
    if request.body:
        bulkpost = request.body.read()
        #bottlelog('request:{0}\n'.format(bulkpost))
        request.body.close()
        if len(bulkpost) > 10:  # TODO Check for bulk format.
            #iterate on messages and post to event message queue

            eventlist = []
            for i in bulkpost.splitlines():
                eventlist.append(i)

            for i in eventlist:
                try:
                    #valid json?
                    try:
                        eventDict = json.loads(i)
                    except ValueError as e:
                        response.status = 500
                        return
                    # don't post the items telling us where to post things..
                    if 'index' not in json.loads(i):
                        ensurePublish = mqConn.ensure(mqproducer,
                                                      mqproducer.publish,
                                                      max_retries=10)
                        ensurePublish(eventDict,
                                      exchange=eventTaskExchange,
                                      routing_key=options.taskexchange)
                except ValueError:
                    bottlelog('value error {0}'.format(i))
    return
Ejemplo n.º 2
0
def bulkindex():
    if request.body:
        bulkpost=request.body.read()
        #bottlelog('request:{0}\n'.format(bulkpost))
        request.body.close()
        if len(bulkpost)>10: #TODO Check for bulk format.
            #iterate on messages and post to event message queue

            eventlist=[]
            for i in bulkpost.splitlines():
                eventlist.append(i)
                
            for i in eventlist:
                try:
                    #valid json?
                    try:
                        eventDict=json.loads(i)
                    except ValueError as e:
                        response.status=500
                        return
                    if not 'index' in json.loads(i).keys(): #don't post the items telling us where to post things..
                        ensurePublish=mqConn.ensure(mqproducer,mqproducer.publish,max_retries=10)
                        ensurePublish(eventDict,exchange=eventTaskExchange,routing_key=options.taskexchange)
                except ValueError:
                    bottlelog('value error {0}'.format(i))
    return
Ejemplo n.º 3
0
def bulkindex():
    if request.body:
        bulkpost = request.body.read()
        # bottlelog('request:{0}\n'.format(bulkpost))
        request.body.close()
        try:  # Handles json array bulk format [{},{},...]
            messages = json.loads(bulkpost)
            for event in messages:
                # don't post the items telling us where to post things..
                if 'index' not in event:
                    ensurePublish = mqConn.ensure(mqproducer,
                                                  mqproducer.publish,
                                                  max_retries=10)
                    ensurePublish(event,
                                  exchange=eventTaskExchange,
                                  routing_key=options.taskexchange)
            return
        except ValueError as e:
            bottlelog('Decoded raw input failed with {0}'.format(e))
            pass

        if len(bulkpost) > 10:  # Handles single element format {}
            # TODO Check for other bulk formats.
            # iterate on messages and post to event message queue
            eventlist = []
            for i in bulkpost.splitlines():
                eventlist.append(i)

            for i in eventlist:
                try:
                    # valid json?
                    try:
                        eventDict = json.loads(i)
                    except ValueError:
                        response.status = 500
                        return
                    # don't post the items telling us where to post things..
                    if 'index' not in json.loads(i):
                        ensurePublish = mqConn.ensure(mqproducer,
                                                      mqproducer.publish,
                                                      max_retries=10)
                        ensurePublish(eventDict,
                                      exchange=eventTaskExchange,
                                      routing_key=options.taskexchange)
                except ValueError:
                    bottlelog('value error {0}'.format(i))
    return