|
@@ -46,13 +46,24 @@ class Dataflow_ActivteMQ_attachment(Dataflow_attachment):
|
|
|
self.comsumer_count = 120
|
|
|
self.retry_comsumer_count = 10
|
|
|
self.retry_times = 5
|
|
|
+ self.list_attachment_comsumer = []
|
|
|
for _i in range(self.comsumer_count):
|
|
|
listener_attachment = ActiveMQListener(getConnect_activateMQ(),self.queue_attachment)
|
|
|
createComsumer(listener_attachment,self.mq_attachment)
|
|
|
+ self.list_attachment_comsumer.append(listener_attachment)
|
|
|
self.attach_pool = ConnectorPool(10,30,getConnection_postgres)
|
|
|
self.conn_mq = getConnect_activateMQ()
|
|
|
self.pool_mq = ConnectorPool(10,30,getConnect_activateMQ)
|
|
|
|
|
|
+ def monitor_listener(self):
|
|
|
+ for i in range(len(self.list_attachment_comsumer)):
|
|
|
+ if self.list_attachment_comsumer[i].conn.is_connected():
|
|
|
+ continue
|
|
|
+ else:
|
|
|
+ listener = ActiveMQListener(getConnect_activateMQ(),self.queue_attachment)
|
|
|
+ createComsumer(listener,self.mq_attachment)
|
|
|
+ self.list_attachment_comsumer[i] = listener
|
|
|
+
|
|
|
|
|
|
def process_failed_attachment(self):
|
|
|
|
|
@@ -497,6 +508,7 @@ class Dataflow_ActivteMQ_attachment(Dataflow_attachment):
|
|
|
schedule.add_job(self.flow_attachment,"cron",second="*/10")
|
|
|
schedule.add_job(self.remove_attachment_postgres,"cron",hour="6")
|
|
|
schedule.add_job(self.process_failed_attachment,"cron",minute="*/10")
|
|
|
+ schedule.add_job(self.monitor_listener,"cron",minute="*/1")
|
|
|
schedule.start()
|
|
|
|
|
|
class Dataflow_ActivteMQ_extract(Dataflow_extract):
|
|
@@ -549,14 +561,26 @@ class Dataflow_ActivteMQ_extract(Dataflow_extract):
|
|
|
self.url_count = 0
|
|
|
|
|
|
self.comsumer_count = 30
|
|
|
+ self.list_extract_comsumer = []
|
|
|
for _i in range(self.comsumer_count):
|
|
|
listener_extract = self.ExtractListener(getConnect_activateMQ(),self.comsumer_handle)
|
|
|
createComsumer(listener_extract,self.mq_extract)
|
|
|
+ self.list_extract_comsumer.append(listener_extract)
|
|
|
+
|
|
|
self.pool_postgres = ConnectorPool(10,self.comsumer_count,getConnection_postgres)
|
|
|
self.conn_mq = getConnect_activateMQ()
|
|
|
self.pool_mq = ConnectorPool(10,30,getConnect_activateMQ)
|
|
|
|
|
|
|
|
|
+ def monitor_listener(self):
|
|
|
+ for i in range(len(self.list_extract_comsumer)):
|
|
|
+ if self.list_extract_comsumer[i].conn.is_connected():
|
|
|
+ continue
|
|
|
+ else:
|
|
|
+ listener = self.ExtractListener(getConnect_activateMQ(),self.comsumer_handle)
|
|
|
+ createComsumer(listener,self.mq_extract)
|
|
|
+ self.list_extract_comsumer[i] = listener
|
|
|
+
|
|
|
def getExtract_url(self):
|
|
|
_url_num = 0
|
|
|
with self.block_url:
|
|
@@ -852,6 +876,7 @@ class Dataflow_ActivteMQ_extract(Dataflow_extract):
|
|
|
schedule.add_job(self.flow_extract_producer,"cron",second="*/20")
|
|
|
schedule.add_job(self.process_extract_failed,"cron",minute="*/5")
|
|
|
schedule.add_job(self.delete_document_extract,"cron",hour="*/5")
|
|
|
+ schedule.add_job(self.monitor_listener,"cron",minute="*/5")
|
|
|
schedule.start()
|
|
|
|
|
|
from multiprocessing import RLock
|
|
@@ -892,6 +917,7 @@ class MyEncoder(json.JSONEncoder):
|
|
|
return obj
|
|
|
return json.JSONEncoder.default(self, obj)
|
|
|
|
|
|
+
|
|
|
class Dataflow_init(Dataflow):
|
|
|
|
|
|
class InitListener():
|
|
@@ -962,9 +988,21 @@ class Dataflow_init(Dataflow):
|
|
|
self.ots_capacity = getConnect_ots_capacity()
|
|
|
|
|
|
self.init_comsumer_counts = 2
|
|
|
+ self.list_init_comsumer = []
|
|
|
for i in range(self.init_comsumer_counts):
|
|
|
listener = self.InitListener(getConnect_activateMQ())
|
|
|
createComsumer(listener,self.mq_init)
|
|
|
+ self.list_init_comsumer.append(listener)
|
|
|
+
|
|
|
+
|
|
|
+ def monitor_listener(self):
|
|
|
+ for i in range(len(self.list_init_comsumer)):
|
|
|
+ if self.list_init_comsumer[i].conn.is_connected():
|
|
|
+ continue
|
|
|
+ else:
|
|
|
+ listener = self.InitListener(getConnect_activateMQ())
|
|
|
+ createComsumer(listener,self.mq_init)
|
|
|
+ self.list_init_comsumer[i] = listener
|
|
|
|
|
|
|
|
|
|
|
@@ -1111,6 +1149,7 @@ class Dataflow_init(Dataflow):
|
|
|
schedule.add_job(self.temp2mq,"cron",args=(ZhaoBiaoDaYiTemp({}),),second="*/10")
|
|
|
schedule.add_job(self.temp2mq,"cron",args=(ZhaoBiaoWenJianTemp({}),),second="*/10")
|
|
|
schedule.add_job(self.ots2mq,"cron",second="*/10")
|
|
|
+ schedule.add_job(self.monitor_listener,"cron",minute="*/1")
|
|
|
schedule.start()
|
|
|
|
|
|
|
|
@@ -1330,5 +1369,5 @@ if __name__ == '__main__':
|
|
|
# de = Dataflow_ActivteMQ_extract()
|
|
|
# de.start_flow_extract()
|
|
|
# fixDoc_to_queue_extract()
|
|
|
- # check_data_synchronization()
|
|
|
+ check_data_synchronization()
|
|
|
fixDoc_to_queue_init()
|