Kaynağa Gözat

添加 rabbitmq 消息id

dongzhaorui 1 yıl önce
ebeveyn
işleme
8cb5c8b72c
1 değiştirilmiş dosya ile 5 ekleme ve 1 silme
  1. 5 1
      FworkSpider/feapder/db/rabbitMq.py

+ 5 - 1
FworkSpider/feapder/db/rabbitMq.py

@@ -236,10 +236,14 @@ class RabbitMQ:
         if not exchange:
             routing_key = queue
 
+        message_id = tools.get_uuid().replace('-', '')
+        if isinstance(data, dict):
+            message_id = data.get("pyuuid") or message_id
+
         # RabbitMQ 的 delivery_mode 属性用于设置消息的持久性。它有两种取值:
         #   delivery_mode=1:表示消息被标记为持久化,但是仍然可能在服务器重启之前丢失。
         #   delivery_mode=2:表示消息被标记为持久化,并且会存储在磁盘上,确保消息不会丢失
-        properties = dict(delivery_mode=2)
+        properties = dict(delivery_mode=2, message_id=message_id)
         body = tools.dumps_obj(data)  # 对象序列化
         self._channel.basic.publish(
             body=body,