def main(props, baseTime, srvList, oprList): logdb = DbConnection(__createDbInfo("logdb", props)) gmsdb = DbConnection(__createDbInfo("gmsdb", props)) logdb.connect() gmsdb.connect() baseDate = datetime.date.today() if baseTime: baseDate = datetime.datetime.strptime(baseTime, "%Y-%m-%d") allSql = [] #平台 allSql.extend(globalStatsForAll(baseDate, logdb, gmsdb)) allSql.extend(dayStatsForAll(baseDate, logdb, gmsdb)) #渠道 for opr in oprList: # 全局数据 r = globalStatsForOpr(baseDate, opr, logdb, gmsdb) allSql.extend(r) # 日数据 r = dayStatsForOpr(baseDate, opr, logdb, gmsdb) allSql.extend(r) #服 for si in srvList: # 全局数据 r = globalStatsForServer(baseDate, si, logdb, gmsdb) allSql.extend(r) # 日数据 r = dayStatsForServer(baseDate, si, logdb, gmsdb) allSql.extend(r) # 游戏数据 r = gameStats(baseDate, si, logdb, gmsdb) allSql.extend(r) for sql in allSql: utils.logInfo("sql=%s" % sql) if not utils.ONLY_SQL: try: gmsdb.setAutoCommit(False) for sql in allSql: utils.logInfo("execute sql=%s" % sql) gmsdb.update(sql) gmsdb.commit() except: gmsdb.rollback() utils.logException('Exception') finally: gmsdb.setAutoCommit(True) utils.logInfo("delete expire data...") expireSql = deleteExpireLogs(baseDate) for sql in expireSql: utils.logInfo("sql=%s" % sql) if not utils.ONLY_SQL: logdb.setAutoCommit(True) for sql in expireSql: while True: utils.logInfo("execute sql=%s" % sql) if logdb.update(sql) == 0: break utils.logInfo("all done!") # 关闭连接 logdb.disconnect() gmsdb.disconnect()