def sendToServer(self, group_name, server_list, local_queue, flush_ready_event, linger_ms, max_queued_messages):
connected = False
rs = None
while True:
try:
# get msg
task_msgs = self.batch_fetch(local_queue, flush_ready_event, linger_ms, max_queued_messages)
if not task_msgs:
continue
# retry 3 times if failed
while True:
# check connection
if connected is False:
if rs is not None:
rs.session.close()
rs = self.get_report_server(group_name, server_list)
if rs.connect() != 0:
gevent.sleep(3)
continue
else:
connected = True
# send data
ret = rs.batch_send_data(task_msgs)
if ret == 0:
break
logger.error("send msg error!, ret={}".format(ret))
connected = False
except Exception, e:
connected = False
logger.error("Uncaught error here! e={}, traceback={}".format(e, traceback.format_exc()))
#@profile
评论列表
文章目录