def do_tax(self): retry = 10 t = 1 while t <= retry: try: sanguo = Sanguo() sanguo.login() data = sanguo.tax() sanguo.close() if not data: logger.error('Tax failed, data None') raise Exception() logger.info('Tax succeed') return data except: logger.info('do_tax failed, will sleep %d seconds'%(t*2)) time.sleep(t*2) t += 1