1. 程式人生 > 其它 >#1、獲取表裡面所有error_count大於等與5的,並且不在redis裡面的使用者id #2、把這一批使用者的userid放到redis裡面 #3、傳送釘釘

#1、獲取表裡面所有error_count大於等與5的,並且不在redis裡面的使用者id #2、把這一批使用者的userid放到redis裡面 #3、傳送釘釘

 1 #1、獲取表裡面所有error_count大於等與5的,並且不在redis裡面的使用者id
 2 #2、把這一批使用者的userid放到redis裡面
 3 #3、傳送釘釘
 4 import time
 5 from day8.homework.utlis import get_redis,op_mysql,send_dd_msg,send_mail
 6 from day8.homework.const import error_user_id_key
 7 def get_error_user():
 8     print("開始獲取錯誤使用者")
 9     r = get_redis()
10 error_userids = tuple(r.lrange(error_user_id_key,0,-1)) #獲取全部的 11 if error_userids: 12 sql = "select * from fmz_hym where error_count >=5 and id not in %s ; " % str(error_userids) 13 else: 14 sql = "select * from fmz_hym where error_count >=5 ;" 15 print("sql",sql)
16 data = op_mysql(sql, data_type=2) 17 print("獲取錯誤使用者完成,總共%s條" % len(data)) 18 return data #[ {id:1,username:xxx,} ] 19 20 21 def format_msg(user_list): 22 all_msg = "" 23 user_ids = [] 24 for user in user_list: 25 msg = "使用者id:%s,使用者名稱:%s\n" % (user.get("id"),user.get("
username")) 26 all_msg+=msg 27 user_ids.append(user.get("id")) 28 return all_msg,user_ids 29 30 31 def send_error_user(): 32 r = get_redis() 33 error_user = get_error_user() 34 if not error_user: #沒有錯誤使用者的 35 send_dd_msg("當前時間沒有錯誤次數超過5次的使用者") 36 send_mail("登入錯誤使用者提醒","當前時間沒有錯誤次數超過5次的使用者") 37 return 38 msg,userids = format_msg(error_user) 39 r.lpush(error_user_id_key,*userids) #存到redis裡面 40 send_dd_msg("登入錯誤使用者提醒:%s" % msg) 41 send_mail("登入錯誤使用者提醒", "登入錯誤使用者提醒:%s" % msg) 42 print("傳送完成") 43 44 def clear_error_user(): 45 sql = "update user_hym set error_count = 0;" 46 op_mysql(sql) 47 r = get_redis() 48 r.delete(error_user_id_key) 49 50 51 if __name__ == '__main__': 52 while True: 53 send_error_user() 54 time.sleep(60*10) #10fen #11:51 12:01 12:11
#1、獲取表裡面所有error_count大於等與5的,並且不在redis裡面的使用者id #2、把這一批使用者的userid放到redis裡面 #3、傳送釘釘 import time from day8.homework.utlis import get_redis,op_mysql,send_dd_msg,send_mail from day8.homework.const import error_user_id_key def get_error_user(): print("開始獲取錯誤使用者") r = get_redis() error_userids = tuple(r.lrange(error_user_id_key,0,-1)) #獲取全部的 if error_userids: sql = "select * from fmz_hym where error_count >=5 and id not in %s ; " % str(error_userids) else: sql = "select * from fmz_hym where error_count >=5 ;" print("sql",sql) data = op_mysql(sql, data_type=2) print("獲取錯誤使用者完成,總共%s條" % len(data)) return data #[ {id:1,username:xxx,} ] def format_msg(user_list): all_msg = "" user_ids = [] for user in user_list: msg = "使用者id:%s,使用者名稱:%s\n" % (user.get("id"),user.get("username")) all_msg+=msg user_ids.append(user.get("id")) return all_msg,user_ids def send_error_user(): r = get_redis() error_user = get_error_user() if not error_user: #沒有錯誤使用者的 send_dd_msg("當前時間沒有錯誤次數超過5次的使用者") send_mail("登入錯誤使用者提醒","當前時間沒有錯誤次數超過5次的使用者") return msg,userids = format_msg(error_user) r.lpush(error_user_id_key,*userids) #存到redis裡面 send_dd_msg("登入錯誤使用者提醒:%s" % msg) send_mail("登入錯誤使用者提醒", "登入錯誤使用者提醒:%s" % msg) print("傳送完成") def clear_error_user(): sql = "update user_hym set error_count = 0;" op_mysql(sql) r = get_redis() r.delete(error_user_id_key) if __name__ == '__main__': while True: send_error_user() time.sleep(60*10) #10fen #11:51 12:01 12:11