Browse Source

transport framework update (pika,couchdbkit,...)

Steve L. Nyemba 8 years ago
parent
commit
45b054de8c
1 changed files with 21 additions and 2 deletions
  1. 21 2
      src/utils/transport.py

+ 21 - 2
src/utils/transport.py

@@ -345,6 +345,10 @@ class QueueReader(MessageQueue,Reader):
 		#self.uid = params['uid']
 		#self.uid = params['uid']
 		#self.qid = params['qid']
 		#self.qid = params['qid']
 		MessageQueue.__init__(self,**params);
 		MessageQueue.__init__(self,**params);
+		if 'durable' in params :
+			self.durable = True
+		else:
+			self.durable = False
 		self.size = -1
 		self.size = -1
 		self.data = {}
 		self.data = {}
 	
 	
@@ -406,11 +410,26 @@ class QueueReader(MessageQueue,Reader):
 				
 				
 				pass
 				pass
 				#self.close()
 				#self.close()
-			
 			# r[qid].append( self.data)
 			# r[qid].append( self.data)
 		
 		
 		return self.data
 		return self.data
-		
+class QueueListener(QueueReader):
+	def init(self,qid):
+		properties = pika.ConnectionParameters(host=self.host)
+		self.connection = pika.BlockingConnection(properties)
+		self.channel	= self.connection.channel()
+		self.channel.exchange_declare(exchange=self.uid,type='direct',durable=True )
+
+		self.info = self.channel.queue_declare(exclusive=True,queue=qid)
+		print self.info.method.queue
+		self.channel.queue_bind(exchange=self.uid,queue=self.info.method.queue,routing_key=qid)
+		#self.callback = callback
+	def read(self):
+    	
+		self.init(self.qid)
+		self.channel.basic_consume(self.callback,queue=self.qid,no_ack=True);
+		self.channel.start_consuming()
+    		
 """
 """
 	This class is designed to write output as sql insert statements
 	This class is designed to write output as sql insert statements
 	The class will inherit from DiskWriter with minor adjustments
 	The class will inherit from DiskWriter with minor adjustments