#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

浙公网安备 33010602011771号