Explorar o código

附件数据处理1/10的概率不做处理重新排队列以防止单一数据堵塞队列

luojiehua hai 1 ano
pai
achega
bf2902942e
Modificáronse 1 ficheiros con 7 adicións e 5 borrados
  1. 7 5
      BaseDataMaintenance/maintenance/dataflow_mq.py

+ 7 - 5
BaseDataMaintenance/maintenance/dataflow_mq.py

@@ -58,6 +58,13 @@ class Dataflow_ActivteMQ_attachment(Dataflow_attachment):
                 log("get message of idx:%s"%(str(self._idx)))
                 message_id = headers.headers["message-id"]
                 body = headers.body
+
+                if self._idx==0:
+                    log("jump by random")
+                    if send_msg_toacmq(self.pool_mq,body,self.mq_attachment):
+                        ackMsg(self.conn,message_id)
+                        return
+
                 _dict = {"frame":headers,"conn":self.conn}
                 self._func(_dict=_dict)
             except Exception as e:
@@ -159,11 +166,6 @@ class Dataflow_ActivteMQ_attachment(Dataflow_attachment):
             page_attachments = json.loads(item.get(document_tmp_attachment_path,"[]"))
             _dochtmlcon = item.get(document_tmp_dochtmlcon,"")
 
-            if random.random()<0.1:
-                log("jump by random")
-                if send_msg_toacmq(self.pool_mq,json.dumps(item,cls=MyEncoder,ensure_ascii=False),self.mq_attachment):
-                    return
-
 
             if len(page_attachments)==0:
                 newitem ={"item":item,"list_attach":[],"message_id":message_id,"conn":conn}