Exemplo n.º 1
0
 def run(self):
     logger.info('TaxThread start, will tax till remain %d times'%(Remain))
     if Delay_Time > 0:
         logger.info('I will start tax at ' + util.next_time(Delay_Time))
         time.sleep(Delay_Time)
     while True:
         gi = GeneralInfo()
         if gi.get_levy_remain() <= Remain:
             logger.info('Tax remain time is %d, will exit'%(gi.get_levy_remain()))
             return
         else:
             logger.info('Tax remain %d times'%(gi.get_levy_remain()))
         cd = gi.get_tax_CDTime()
         stime = gi.get_serverTime()
         if cd > stime:
             sp = cd - stime + 1
             logger.info('I will sleep CD, will tax at %s'%(util.next_time(sp)))
             time.sleep(sp)
         else:
             time.sleep(1)
         res = self.do_tax()
         if res.has_key('exception'):
             logger.error('Got Exception "%s"'%(res['exception']['message']))
             if 'beyondMaxSilver' == res['exception']['message']:
                 if MaxSilverExit:
                     return
                 else:
                     sp = 1800
                     logger.info('I will tax at %s'%(util.next_time(sp)))
                     time.sleep(sp)
                     continue
             time.sleep(60)
         time.sleep(1)