实时新增人数计算

This commit is contained in:
pengtao 2019-09-03 11:59:15 +08:00
parent eac65b22ec
commit c34fa79b7c

View File

@ -16,7 +16,7 @@ mydb = MysqlBase(**DB)
def get_last_time(gameid, channelid, ad_channel): def get_last_time(gameid, channelid, ad_channel):
sql = f"""SELECT sql = f"""SELECT
create_time register_time
FROM FROM
newusers_line newusers_line
where where
@ -24,7 +24,7 @@ def get_last_time(gameid, channelid, ad_channel):
and channelid={channelid} and channelid={channelid}
and ad_channel={ad_channel} and ad_channel={ad_channel}
ORDER BY ORDER BY
create_time DESC LIMIT 1""" register_time DESC LIMIT 1"""
data = mydb.query(sql) data = mydb.query(sql)
try: try:
last_time = data[0][0] last_time = data[0][0]
@ -44,7 +44,50 @@ def comp_datetime(x, y):
def gather_data(last_time, gameid, channelid, ad_channel): def gather_data(last_time, gameid, channelid, ad_channel):
print(f"start via {last_time}") begin = (datetime.datetime.strptime(last_time, "%Y-%m-%d %H:%M:%S") - datetime.timedelta(
minutes=TimeDelay)).strftime("%Y-%m-%d %H:%M:%S")
total_user_sql = f"""select
count(accountid)
from
newuser
where
gameid={gameid}
AND channelid={channelid}
AND ad_channel={ad_channel}
AND register_time <{last_time}"""
try:
data = mydb.query(total_user_sql)
total_user = data[0][0]
except Exception:
log.error(f"get total user failed!{data}")
total_user = 0
new_user_sql = f"""select
count(accountid)
from
newuser
where
gameid={gameid}
AND channelid={channelid}
AND ad_channel={ad_channel}
AND register_time BETWEEN {begin} AND {last_time}"""
try:
data = mydb.query(total_user_sql)
new_user = data[0][0]
except Exception:
log.error(f"get total user failed!{data}")
new_user = 0
table_name = 'newusers_line'
temp = {}
temp['gameid'] = gameid
temp['channelid'] = channelid
temp['ad_channel'] = ad_channel
temp['new_user'] = new_user
temp['total_user'] = total_user
temp['last_time'] = last_time
mydb.insert(table_name, temp)
def run(gameid, channelid, ad_channel): def run(gameid, channelid, ad_channel):
@ -59,7 +102,7 @@ def run(gameid, channelid, ad_channel):
def main(): def main():
gameid = 2001 gameid = 2001
channel = 6001 channel = 6001
ad_channel = "xx" ad_channel = ""
run(gameid, channel, ad_channel) run(gameid, channel, ad_channel)