Example #1
0
    def publish(self, dict):
        global rpc_subscriber
        while rpc_subscriber.consumer_tag is None:
            continue

        props = BasicProperties()
        props.reply_to = rpc_subscriber.queue_name
        props.correlation_id = str(uuid.uuid4())

        try:
            rpc_subscriber.rpc_data[props.correlation_id] = Event()
            self.publisher.publish(dict, props)
        except:
            self.logger.exception("Error publishing rpc message")
            del rpc_subscriber.rpc_data[props.correlation_id]
            props.correlation_id = None
        self.publisher.close()

        return props.correlation_id