def handleUid(self, uid): uid_stat_t = self.mongoconn["video"]["%s_stat" % (uid)] uid_daily_t = self.mongoconn["video"]["%s_daily" % (uid)] #初始化uidinfo类 uidinfObj = UidInfo(self.mysql_conn, self.mongoconn, uid) """得到该用户本天统计数据""" uiddailystat = uid_daily_t.find_one({"_id": self.date}) Nvideo = uiddailystat["Nvideo"] Load = uiddailystat["Load"] Play = uiddailystat["Play"] IP = uiddailystat["IP"] Engage = uiddailystat["Engage"] Click = uiddailystat["Click"] Traffic = uiddailystat["Traffic"] Geo = uiddailystat["Geo"] """计算地域分布数据中完成率""" for region in Geo: Geo[region]["Engage"] = operator.itruediv( float(Geo[region]["EngageSum"]), int(Geo[region]["ClickNum"])) """得到该用户截至目前统计信息""" uidnowstat = uidinfObj.get_uid_info(uid) #uidnowstat = uid_stat_t.find_one({"_id":uid},{"_id":0,"EngageSum":0}) nowGeo = uidnowstat["Geo"] nowTraffic = float(uidnowstat["Traffic"]) nowMtraffic = float(uidnowstat["Mtraffic"]) """时间序列已存储多少天数据""" #days = redata.llen("%s_date"%(uid)) + 1 """写数据到redis""" redpipe = self.redata.pipeline() redpipe.rpush("%s_date" % (uid), self.date) redpipe.rpush("%s_UD1" % (uid), Nvideo) redpipe.rpush("%s_UD2" % (uid), Load) redpipe.rpush("%s_UD3" % (uid), Play) redpipe.rpush("%s_UD4" % (uid), IP) redpipe.rpush("%s_UD5" % (uid), Engage) redpipe.rpush("%s_UD6" % (uid), Click) redpipe.rpush("%s_UD7" % (uid), Traffic) redpipe.rpush("%s_UDD" % (uid), ujson.encode(Geo)) redpipe.set("%s_UH" % (uid), ujson.encode(uidnowstat)) redpipe.set("%s_UDH" % (uid), ujson.encode(nowGeo)) """ if days > self.daynums: redpipe.lpop("%s_date"%(uid)) redpipe.lpop("%s_UD1"%(uid)) redpipe.lpop("%s_UD2"%(uid)) redpipe.lpop("%s_UD3"%(uid)) redpipe.lpop("%s_UD4"%(uid)) redpipe.lpop("%s_UD5"%(uid)) redpipe.lpop("%s_UD6"%(uid)) redpipe.lpop("%s_UD7"%(uid)) redpipe.lpop("%s_UDD"%(uid)) """ redpipe.execute() uidinfObj.update_usum(uid, uidnowstat) uidinfObj.update_ugeo(uid, uidnowstat)
def handleUid(self, uid): uid_stat_t = self.mongoconn[self.mongodbName]["%s_stat" % (uid)] uid_daily_t = self.mongoconn[self.mongodbName]["%s_daily" % (uid)] #初始化uidinfo类 uidinfObj = UidInfo(self.mysql_conn, self.mongoconn, uid) """得到该用户本天统计数据""" uiddailystat = uid_daily_t.find_one({"_id": self.date}) Nvideo = uiddailystat["Nvideo"] Load = uiddailystat["Load"] Play = uiddailystat["Play"] IP = uiddailystat["IP"] Engage = uiddailystat["Engage"] Click = uiddailystat["Click"] Traffic = uiddailystat["Traffic"] Geo = uiddailystat["Geo"] """计算地域分布数据中完成率""" for region in Geo: Geo[region]["Engage"] = operator.itruediv( float(Geo[region]["EngageSum"]), int(Geo[region]["ClickNum"])) """得到该用户截至目前统计信息""" uidnowstat = uidinfObj.get_uid_info(uid) nowGeo = uidnowstat["Geo"] nowTraffic = float(uidnowstat["Traffic"]) nowMtraffic = float(uidnowstat["Mtraffic"]) """时间序列已存储多少天数据""" #days = redata.llen("%s_date"%(uid)) + 1 """写数据到redis""" redpipe = self.redata.pipeline() redpipe.rpush("%s_date" % (uid), self.date) redpipe.rpush("%s_UD1" % (uid), Nvideo) redpipe.rpush("%s_UD2" % (uid), Load) redpipe.rpush("%s_UD3" % (uid), Play) redpipe.rpush("%s_UD4" % (uid), IP) redpipe.rpush("%s_UD5" % (uid), Engage) redpipe.rpush("%s_UD6" % (uid), Click) redpipe.rpush("%s_UD7" % (uid), Traffic) redpipe.rpush("%s_UDD" % (uid), ujson.encode(Geo)) redpipe.set("%s_UH" % (uid), ujson.encode(uidnowstat)) redpipe.set("%s_UDH" % (uid), ujson.encode(nowGeo)) #为便于php进行套餐流量统计,将uid用户当天流量和写入redis datadict = {"date": self.date, "traffic": Traffic} redpipe.set("%s_traffic" % (uid), ujson.encode(datadict)) """ if days > self.daynums: redpipe.lpop("%s_date"%(uid)) redpipe.lpop("%s_UD1"%(uid)) redpipe.lpop("%s_UD2"%(uid)) redpipe.lpop("%s_UD3"%(uid)) redpipe.lpop("%s_UD4"%(uid)) redpipe.lpop("%s_UD5"%(uid)) redpipe.lpop("%s_UD6"%(uid)) redpipe.lpop("%s_UD7"%(uid)) redpipe.lpop("%s_UDD"%(uid)) """ redpipe.execute() uidinfObj.update_usum(uid, uidnowstat) uidinfObj.update_ugeo(uid, uidnowstat) # --/ # FUNCTION MODULE : COLLECT USER BASE INFORMATION # USER BASE INFORMATION WRITE TO FILE OF EXECEL,TXT,PDF # ADD IN 20131210 # --/ uidinfObj.write_zzuinfo_to_file()
def handleUid(self,uid): uid_stat_t = self.mongoconn["video"]["%s_stat"%(uid)] uid_daily_t = self.mongoconn["video"]["%s_daily"%(uid)] #初始化uidinfo类 uidinfObj = UidInfo(self.mysql_conn,self.mongoconn,uid) """得到该用户本天统计数据""" uiddailystat = uid_daily_t.find_one({"_id":self.date}) Nvideo = uiddailystat["Nvideo"] Load = uiddailystat["Load"] Play = uiddailystat["Play"] IP = uiddailystat["IP"] Engage = uiddailystat["Engage"] Click = uiddailystat["Click"] Traffic = uiddailystat["Traffic"] Geo = uiddailystat["Geo"] """计算地域分布数据中完成率""" for region in Geo: Geo[region]["Engage"] = operator.itruediv(float(Geo[region]["EngageSum"]), int(Geo[region]["ClickNum"])) """得到该用户截至目前统计信息""" uidnowstat = uidinfObj.get_uid_info(uid) #uidnowstat = uid_stat_t.find_one({"_id":uid},{"_id":0,"EngageSum":0}) nowGeo = uidnowstat["Geo"] nowTraffic = float(uidnowstat["Traffic"]) nowMtraffic = float(uidnowstat["Mtraffic"]) """时间序列已存储多少天数据""" #days = redata.llen("%s_date"%(uid)) + 1 """写数据到redis""" redpipe = self.redata.pipeline() redpipe.rpush("%s_date"%(uid), self.date) redpipe.rpush("%s_UD1"%(uid),Nvideo) redpipe.rpush("%s_UD2"%(uid),Load) redpipe.rpush("%s_UD3"%(uid),Play) redpipe.rpush("%s_UD4"%(uid),IP) redpipe.rpush("%s_UD5"%(uid),Engage) redpipe.rpush("%s_UD6"%(uid),Click) redpipe.rpush("%s_UD7"%(uid),Traffic) redpipe.rpush("%s_UDD"%(uid),ujson.encode(Geo)) redpipe.set("%s_UH"%(uid),ujson.encode(uidnowstat)) redpipe.set("%s_UDH"%(uid),ujson.encode(nowGeo)) """ if days > self.daynums: redpipe.lpop("%s_date"%(uid)) redpipe.lpop("%s_UD1"%(uid)) redpipe.lpop("%s_UD2"%(uid)) redpipe.lpop("%s_UD3"%(uid)) redpipe.lpop("%s_UD4"%(uid)) redpipe.lpop("%s_UD5"%(uid)) redpipe.lpop("%s_UD6"%(uid)) redpipe.lpop("%s_UD7"%(uid)) redpipe.lpop("%s_UDD"%(uid)) """ redpipe.execute() uidinfObj.update_usum(uid,uidnowstat) uidinfObj.update_ugeo(uid,uidnowstat)
def handleUid(self,uid): uid_stat_t = self.mongoconn[self.mongodbName]["%s_stat"%(uid)] uid_daily_t = self.mongoconn[self.mongodbName]["%s_daily"%(uid)] #初始化uidinfo类 uidinfObj = UidInfo(self.mysql_conn,self.mongoconn,uid) """得到该用户本天统计数据""" uiddailystat = uid_daily_t.find_one({"_id":self.date}) Nvideo = uiddailystat["Nvideo"] Load = uiddailystat["Load"] Play = uiddailystat["Play"] IP = uiddailystat["IP"] Engage = uiddailystat["Engage"] Click = uiddailystat["Click"] Traffic = uiddailystat["Traffic"] Geo = uiddailystat["Geo"] """计算地域分布数据中完成率""" for region in Geo: Geo[region]["Engage"] = operator.itruediv(float(Geo[region]["EngageSum"]), int(Geo[region]["ClickNum"])) """得到该用户截至目前统计信息""" uidnowstat = uidinfObj.get_uid_info(uid) nowGeo = uidnowstat["Geo"] nowTraffic = float(uidnowstat["Traffic"]) nowMtraffic = float(uidnowstat["Mtraffic"]) """时间序列已存储多少天数据""" #days = redata.llen("%s_date"%(uid)) + 1 """写数据到redis""" redpipe = self.redata.pipeline() redpipe.rpush("%s_date"%(uid), self.date) redpipe.rpush("%s_UD1"%(uid),Nvideo) redpipe.rpush("%s_UD2"%(uid),Load) redpipe.rpush("%s_UD3"%(uid),Play) redpipe.rpush("%s_UD4"%(uid),IP) redpipe.rpush("%s_UD5"%(uid),Engage) redpipe.rpush("%s_UD6"%(uid),Click) redpipe.rpush("%s_UD7"%(uid),Traffic) redpipe.rpush("%s_UDD"%(uid),ujson.encode(Geo)) redpipe.set("%s_UH"%(uid),ujson.encode(uidnowstat)) redpipe.set("%s_UDH"%(uid),ujson.encode(nowGeo)) #为便于php进行套餐流量统计,将uid用户当天流量和写入redis datadict = {"date":self.date,"traffic":Traffic} redpipe.set("%s_traffic"%(uid),ujson.encode(datadict)) """ if days > self.daynums: redpipe.lpop("%s_date"%(uid)) redpipe.lpop("%s_UD1"%(uid)) redpipe.lpop("%s_UD2"%(uid)) redpipe.lpop("%s_UD3"%(uid)) redpipe.lpop("%s_UD4"%(uid)) redpipe.lpop("%s_UD5"%(uid)) redpipe.lpop("%s_UD6"%(uid)) redpipe.lpop("%s_UD7"%(uid)) redpipe.lpop("%s_UDD"%(uid)) """ redpipe.execute() uidinfObj.update_usum(uid,uidnowstat) uidinfObj.update_ugeo(uid,uidnowstat) # --/ # FUNCTION MODULE : COLLECT USER BASE INFORMATION # USER BASE INFORMATION WRITE TO FILE OF EXECEL,TXT,PDF # ADD IN 20131210 # --/ uidinfObj.write_zzuinfo_to_file()