from utils import con_sql from datetime import datetime # 获取当下一分钟内活跃用户 def get_active_users(): now = datetime.now() now_start = str(now)[:16] + ":00" now_end = str(now)[:16] + ":59" sql = "select device_id from user_active_time " \ "where active_time <= '{}' and active_time >= '{}'".format(now_end,now_start) device_id_df = con_sql(sql) if device_id_df.empty: print("当下这一分钟没有活跃用户,不需要预测") return True,None else: device_id_list = device_id_df[0].values.tolist() # 对device_id 进行去重 device_id_list = list(set(device_id_list)) print("成功获取当下一分钟内活跃用户") return False,device_id_list def fetch_user_profile(device_id): sql = "select device_id,city_id from data_feed_click where device_id = '{0}' limit 1".format(device_id) user_profile = con_sql(sql) if user_profile.empty: print("没有获取到该用户对应的city_id") return {}, user_profile.empty else: user_profile = user_profile.rename(columns={0:"device_id",1:"city_id"}) print("成功获取该用户对应的city_id") user_profile_dict = {} for i in user_profile.columns: user_profile_dict[i] = user_profile.loc[0, i] return user_profile_dict, user_profile.empty