def run(self): logger.info('jinglianThread %s start, will jinglian to level %d'%(Eid, Level)) if Delay_Time > 0: logger.info('I will start jinglian at ' + util.next_time(Delay_Time)) time.sleep(Delay_Time) level = 0 while level < Level: res = util.send_command('jinglianEquip', Eid) if res is not None: sp = 298 if res.has_key('exception'): msg = res['exception']['message'] if msg == 'upFail': logger.info('jinglian fail') elif msg == 'CDTimeNotCool': time.sleep(2) gi = GeneralInfo() cd = gi.get_jinglian_CDTime() stime = gi.get_serverTime() if cd > stime: sp = cd - stime + 1 logger.info('I will sleep CD to %s'%(util.next_time(sp))) time.sleep(sp) else: time.sleep(2) continue else: logger.info('got Exception %s, exit'%(msg)) sys.exit() else: level = int(res['userEquip']['starLevel']) logger.info('jinglian to level %d'%(level)) if level >= Level: sys.exit() sp = 2 logger.info('next round will start at ' + util.next_time(sp)) time.sleep(sp) else: sp = 2 logger.info('network error, will start at ' + util.next_time(sp)) time.sleep(sp)