retry示例

时间:2023-03-09 05:21:47
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)