예제 #1
0
 def _cmd_test_xquery(self):
     self._test_xquery_correlation_id = str(uuid4())
     message = Message(
         address=self._cmd_test_xquery_queue,
         correlation_id=self._test_xquery_correlation_id,
         creation_time=XqaMessagingHandler.now_timestamp_seconds())
     self.cmd_test_xquery_sender.send(message)
예제 #2
0
    def _insert(self, event):
        logging.info(
            '%s creation_time=%s; correlation_id=%s; address=%s; reply_to=%s; expiry_time=%s, body=%s',
            ">", event.message.creation_time, event.message.correlation_id,
            event.message.address, event.message.reply_to,
            event.message.expiry_time, event.message.body)

        message = Message(
            address=event.message.reply_to,
            correlation_id=event.message.correlation_id,
            creation_time=XqaMessagingHandler.now_timestamp_seconds(),
            subject='a/b/c.xml',
            body=
            '<copyrightStatement>© Bodleian Libraries, University of Oxford</copyrightStatement>'
            .encode('UTF-8'))

        logging.info(
            '%s creation_time=%s; correlation_id=%s; address=%s; reply_to=%s; subject=%s; expiry_time=%s; digest(body)=%s',
            "<", message.creation_time, message.correlation_id,
            message.address, message.reply_to, message.subject,
            message.expiry_time,
            hashlib.sha256(message.body).hexdigest())

        self.shard_size_sender.send(message)

        self._size_test_response_received = True
예제 #3
0
    def _send_cmd_stop(self):
        message = Message(
            address=configuration.message_broker_cmd_stop_topic,
            correlation_id=str(uuid4()),
            creation_time=XqaMessagingHandler.now_timestamp_seconds())

        logging.info(
            '%s creation_time=%s; correlation_id=%s; address=%s; reply_to=%s; expiry_time=%s',
            "<", message.creation_time, message.correlation_id,
            message.address, message.reply_to, message.expiry_time)

        self.cmd_stop_sender.send(message)
예제 #4
0
    def _size(self, event):
        message = Message(
            address=configuration.message_broker_shard_size_topic,
            correlation_id=event.message.correlation_id,
            creation_time=XqaMessagingHandler.now_timestamp_seconds(),
            reply_to=self.shard_size_receiver.remote_source.address)

        self.shard_size_sender.send(message)

        logging.info(
            '%s creation_time=%s; correlation_id=%s; address=%s; reply_to=%s; expiry_time=%s; body=%s',
            "<", message.creation_time, message.correlation_id,
            message.address, message.reply_to, message.expiry_time,
            message.body)
예제 #5
0
    def _xquery(self, event):
        logging.info(
            '%s creation_time=%s; correlation_id=%s; address=%s; reply_to=%s; body=%s',
            '>', event.message.creation_time, event.message.correlation_id,
            event.message.address, event.message.reply_to, event.message.body)

        message = Message(
            address=event.message.reply_to,
            correlation_id=event.message.correlation_id,
            creation_time=XqaMessagingHandler.now_timestamp_seconds(),
            body=(self.xquery_body(event)))

        logging.info(
            '%s creation_time=%s; correlation_id=%s; address=%s; reply_to=%s; body=%s',
            '<', message.creation_time, message.correlation_id,
            message.address, message.reply_to, message.body)

        self.xquery_sender.send(message)
예제 #6
0
    def _insert_event(self, message, state):
        creation_time = XqaMessagingHandler.now_timestamp_seconds()

        insert_event = """{ "serviceId": "%s", "creationTime": %s, "correlationId": "%s", "digest": "%s", "storage_size": "%s" , "state": "%s" }""" % \
                       (self._service_id,
                        Shard.standardise_creation_time_with_other_services(creation_time),
                        message.correlation_id,
                        hashlib.sha256(message.body).hexdigest(),
                        self._storage_service.storage_size(),
                        state)

        message = Message(
            address=configuration.message_broker_db_amqp_insert_event_queue,
            correlation_id=str(uuid4()),
            creation_time=creation_time,
            body=insert_event.encode('utf-8'))

        self.insert_event_sender.send(message)
예제 #7
0
    def _size(self, event):
        logging.info(
            '%s creation_time=%s; correlation_id=%s; address=%s; reply_to=%s',
            '>', event.message.creation_time, event.message.correlation_id,
            event.message.address, event.message.reply_to)

        message = Message(
            address=event.message.reply_to,
            correlation_id=event.message.correlation_id,
            reply_to=self._insert_uuid,
            creation_time=XqaMessagingHandler.now_timestamp_seconds(),
            body=self._storage_service.storage_size())

        logging.info(
            '%s creation_time=%s; correlation_id=%s; address=%s; reply_to=%s; body=%s',
            '<', message.creation_time, message.correlation_id,
            message.address, message.reply_to, message.body)

        self.size_sender.send(message)
예제 #8
0
 def _cmd_test_size(self):
     message = Message(
         address=self._cmd_test_size_queue,
         correlation_id=str(uuid4()),
         creation_time=XqaMessagingHandler.now_timestamp_seconds())
     self.cmd_test_size_sender.send(message)