Пример #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
Пример #2
0
 def publish(self, dict):
     props = BasicProperties()
     props.correlation_id = self.correlation_id
     if self.channel.is_open:
         self.channel.basic_publish(exchange='', routing_key=self.queue_name,
                                    properties=props, body=json.dumps(dict))