diff --git a/rc_rmq.py b/rc_rmq.py index 35922b230fcfa26b5148c9dcf5662a8345abf4ca..41ec7b3a8e90c2dd18a7ff4361693374ea2c8153 100644 --- a/rc_rmq.py +++ b/rc_rmq.py @@ -82,13 +82,15 @@ class RCRMQ(object): if 'routing_key' in obj: self.ROUTING_KEY = obj['routing_key'] - self.connect() + if self._connection is None: + self.connect() self._channel.basic_publish(exchange=self.EXCHANGE, routing_key=self.ROUTING_KEY, body=json.dumps(obj['msg'])) - self.disconnect() + if not self._consuming: + self.disconnect() def start_consume(self, obj): if 'queue' in obj: @@ -100,9 +102,11 @@ class RCRMQ(object): if self.DEBUG: print("Queue: " + self.QUEUE + "\nRouting_key: " + self.ROUTING_KEY) - self.connect() + if self._connection is None: + self.connect() self._consumer_tag = self._channel.basic_consume(self.QUEUE,obj['cb']) + self._consuming = True try: self._channel.start_consuming() except KeyboardInterrupt: