Esempio n. 1
0
    def load(self):
        for i, (exchange, routingKey, proto) in enumerate(self.formatter.read(self.schema, self.stream)):
            log.info('Publishing message %d to %s with routing key %s' % (i + 1, exchange, routingKey))
            log.debug('Message: %s' % to_json(proto))

            self.publisher.publish(Publishable(
                message = proto,
                exchange = exchange,
                routingKey = routingKey,
                mandatory = True
            ))
Esempio n. 2
0
    def load(self):
        for i, (exchange, routingKey, proto) in enumerate(
                self.formatter.read(self.schema, self.stream)):
            log.info('Publishing message %d to %s with routing key %s' %
                     (i + 1, exchange, routingKey))
            log.debug('Message: %s' % to_json(proto))

            self.publisher.publish(
                Publishable(message=proto,
                            exchange=exchange,
                            routingKey=routingKey,
                            mandatory=True))
Esempio n. 3
0
    def dump(self, message, schema, queueName, stream):
        # Make sure we can read it in, then convert back to string
        routing_key = message.delivery_info['routing_key']
        exchange = message.delivery_info['exchange']
        proto = hydrateQueueMessage(message, schema)
        type = proto.DESCRIPTOR.full_name

        payload = proto.SerializeToString()
        log.debug(to_json(proto))
        self._write_shortstr(stream, type)
        self._write_shortstr(stream, exchange)
        self._write_shortstr(stream, routing_key)

        size = len(payload)
        stream.write(pack('>I%dsB' % size, size, payload, 0xce))
Esempio n. 4
0
    def dump(self, message, schema, queueName, stream):
        # Make sure we can read it in, then convert back to string
        routing_key = message.delivery_info['routing_key']
        exchange = message.delivery_info['exchange']
        proto = hydrateQueueMessage(message, schema)
        type = proto.DESCRIPTOR.full_name

        payload = proto.SerializeToString()
        log.debug(to_json(proto))
        self._write_shortstr(stream, type)
        self._write_shortstr(stream, exchange)
        self._write_shortstr(stream, routing_key)

        size = len(payload)
        stream.write(pack('>I%dsB' % size, size, payload, 0xce))
Esempio n. 5
0
    def dump(self, message, schema, queueName, stream):
        try:
            proto = hydrateQueueMessage(message, schema)
        except SchemaException:
            log.error("Unable to hydrate protobuf %s with headers %s " % (message.body, message.properties.get('application_headers')))
            return

        self.dumpHeaders(message, stream)
        self.dumpHeader(HEADER_QUEUE_NAME, queueName, stream)
        self.dumpCommonHeaders(message, stream)
        self.dumpHeader(HEADER_CONTENT_TYPE, CONTENT_TYPE_JSON, stream)

        data = to_json(proto, indent=2)
        self.dumpHeader(HEADER_CONTENT_LENGTH, len(data), stream)

        stream.write('\n')
        stream.write(data)
        stream.write('\n\n')
Esempio n. 6
0
    def dump(self, message, schema, queueName, stream):
        try:
            proto = hydrateQueueMessage(message, schema)
        except SchemaException:
            log.error(
                "Unable to hydrate protobuf %s with headers %s " %
                (message.body, message.properties.get('application_headers')))
            return

        self.dumpHeaders(message, stream)
        self.dumpHeader(HEADER_QUEUE_NAME, queueName, stream)
        self.dumpCommonHeaders(message, stream)
        self.dumpHeader(HEADER_CONTENT_TYPE, CONTENT_TYPE_JSON, stream)

        data = to_json(proto, indent=2)
        self.dumpHeader(HEADER_CONTENT_LENGTH, len(data), stream)

        stream.write('\n')
        stream.write(data)
        stream.write('\n\n')
Esempio n. 7
0
    def testToJson(self):
        json = dumps(self.data)
        jsonified = to_json(self.message)

        # Can't test json strings, need to turn it back to dicts
        assert(loads(json) == loads(jsonified))