diff --git a/visualdl/server/lib.py b/visualdl/server/lib.py index 3ed50dba99226e485f845dde5d49da7eca625e9d..7976fd45b2666ded67c956c074a94bafd035bfce 100644 --- a/visualdl/server/lib.py +++ b/visualdl/server/lib.py @@ -226,17 +226,21 @@ def get_graph(log_reader): def retry(ntimes, function, time2sleep, *args, **kwargs): - ''' + """ try to execute `function` `ntimes`, if exception catched, the thread will sleep `time2sleep` seconds. - ''' + """ for i in range(ntimes): try: return function(*args, **kwargs) except Exception: - error_info = '\n'.join(map(str, sys.exc_info())) - logger.error("Unexpected error: %s" % error_info) - time.sleep(time2sleep) + if i < ntimes-1: + error_info = '\n'.join(map(str, sys.exc_info())) + logger.error("Unexpected error: %s" % error_info) + time.sleep(time2sleep) + else: + import traceback + traceback.print_exc() def cache_get(cache):