实时新增人数计算
This commit is contained in:
parent
eac65b22ec
commit
c34fa79b7c
@ -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)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user