From dccb157b8bc64ff814649f68cad3269c1b47231e Mon Sep 17 00:00:00 2001 From: chengyiwu Date: Thu, 17 Dec 2020 11:07:24 +0800 Subject: [PATCH] Fix: Reconnect when report has an exception occurs --- skywalking/agent/__init__.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/skywalking/agent/__init__.py b/skywalking/agent/__init__.py index e8544dc2..f10d7e22 100644 --- a/skywalking/agent/__init__.py +++ b/skywalking/agent/__init__.py @@ -39,9 +39,19 @@ def __heartbeat(): def __report(): while not __finished.is_set(): if connected(): - __protocol.report(__queue) # is blocking actually - - __finished.wait(1) + try: + __protocol.report(__queue) + except Exception as e: + logger.error("report loss connect ...") + logger.error(e) + try: + __init() + except Exception as e: + __finished.wait(30) + logger.error("report reconnect fail...") + logger.error(e) + else: + __finished.wait(1) __heartbeat_thread = Thread(name='HeartbeatThread', target=__heartbeat, daemon=True)