# -*-coding:utf-8-*-
'''
Created on 2015年5月27日
@author: kanpiaoxue
'''
from time import sleep
class RetryClass(object):
def __init__(self, retryTimes, intervalTimes):
self.retryTimes = retryTimes
self.intervalTimes = intervalTimes
def doAction(self):
print 'doAction'
retryRunCount = 0
while True:
try:
self.retryAction()
break
except IOError, ex:
print 'catch Exception:', IOError, ':', ex
if retryRunCount < self.retryTimes:
retryRunCount += 1
print 'after', self.intervalTimes, 'seconds it will retry again for times:' , retryRunCount
sleep(self.intervalTimes)
continue
else:
msg = 'it retry ' + str(retryRunCount) + ' times. But it does not run successfully! Please check it.'
raise Exception(msg)
def retryAction(self):
print 'retryAction'
raise IOError('retryAction')
if __name__ == '__main__':
retryTimes = 10
intervalTimes = 1
retry = RetryClass(retryTimes, intervalTimes)
retry.doAction()