retry示例
#!/usr/bin/python2.7 # -*- coding: utf-8 -*- import time import exceptions def func(): # a,b = None 1/0 time.sleep(1) print 'func done\n' count = 0 start_t = None success = False while True: try: if not start_t: start_t = int(round(time.time() * 1000)) # Millisecond func() success = True except TypeError as e: print '{} type err'.format(time.time()) if 3 == count: success = True continue if count < 3: count += 1 time.sleep(1) except exceptions.Exception as e: print "other" success = True finally: if success: end_t = int(round(time.time() * 1000)) # Millisecond run_t = format(float(end_t-start_t)/1000,'.3f') sleep_t = 10-float(run_t) print 'START: {}, END: {}, Runtime: {}'.format(start_t,end_t,run_t) print 'Need to sleep : {} seconds\n'.format(sleep_t) count = 0 start_t = None success = False time.sleep(sleep_t)
作者:Standby — 一生热爱名山大川、草原沙漠,还有我们小郭老师!
出处:http://www.cnblogs.com/standby/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处:http://www.cnblogs.com/standby/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。