diff --git a/tools/rankserver/app.py b/tools/rankserver/app.py index 76550d7..b2502c9 100644 --- a/tools/rankserver/app.py +++ b/tools/rankserver/app.py @@ -61,6 +61,14 @@ def getDaySeconds(time_val, incdays): dayseconds = int((time_val + time_zone * 3600)/3600/24 + incdays) * 3600 * 24 - 3600 * time_zone; return dayseconds +#数据去重 +def delRepeatData(row, data_list): + i = 0 + for data in data_list: + if (data[0] == row[0]): + del data_list[i] + i = i + 1 + #刷新数据 def refreshData(row, data_list, data_info): key_info = data_info @@ -137,6 +145,7 @@ def dayReadMysqlData(rushtime): has_data = False for row in cursor: + #更新击杀榜 refreshData(row, kill_list, take_kills) #更新生存榜 refreshData(row, alive_list, take_alive_time) @@ -217,14 +226,19 @@ def readMysqlData(rushtime): has_data = False for row in cursor: #更新击杀榜 + delRepeatData(row, kill_list) refreshData(row, kill_list, take_kills) #更新生存榜 + delRepeatData(row, alive_list) refreshData(row, alive_list, take_alive_time) #更新伤害榜 + delRepeatData(row, harm_list) refreshData(row, harm_list, take_harms) #更新胜率榜 + delRepeatData(row, rate_list) refreshData(row, rate_list, take_win_times) #更新胜场榜 + delRepeatData(row, win_list) refreshData(row, win_list, take_game_times) temp_idx = int(row[8]) if (temp_idx > last_idx) : @@ -258,7 +272,7 @@ if __name__ == "__main__": app = make_app() app.listen(conf['listen_port']) - conf['rushtime'] = 300 + conf['rushtime'] = 5 tornado.ioloop.IOLoop.current().call_later(conf['rushtime'], lambda : readMysqlData(conf['rushtime']) )