Преглед изворни кода

指定队列消息是否以字符串作为结果返回

dongzhaorui пре 1 година
родитељ
комит
348d6f5a2f
1 измењених фајлова са 6 додато и 2 уклоњено
  1. 6 2
      FworkSpider/feapder/db/rabbitMq.py

+ 6 - 2
FworkSpider/feapder/db/rabbitMq.py

@@ -330,13 +330,14 @@ class RabbitMQ:
         """
         self._channel.basic.cancel(consumer_tag)
 
-    def get(self, queue, limit, no_ack=False):
+    def get(self, queue, limit, no_ack=False, to_str=True):
         """
         获取rabbitmq消息队列中的信道数据
 
         @param str queue: 队列名称
         @param int limit: 获取消息数量
         @param no_ack: 自动回复消息确认
+        @param to_str: 消息是否转成字符串
         """
         message_lst = []
         # 设置预取上限数量
@@ -352,7 +353,10 @@ class RabbitMQ:
                 self._channel.basic.ack(delivery_tag)
                 delivery_tag = 0
 
-            message_lst.append(str(RabbitMQMessage(delivery_tag, impl)))
+            if to_str:
+                message_lst.append(str(RabbitMQMessage(delivery_tag, impl)))
+            else:
+                message_lst.append(RabbitMQMessage(delivery_tag, impl))
 
         try:
             # 注册消费者并获取消费者标签