This commit is contained in:
huangzhenpc
2025-03-05 13:58:13 +08:00
parent 7c5539ce61
commit 2076ad8cc6

View File

@@ -307,31 +307,27 @@ def get_allowed_domains_with_time():
def get_all_emails(count=50): def get_all_emails(count=50):
""" """
获取所有邮件 获取所有邮件,直接从 email:* 键获取
:param count: 返回的邮件数量限制 :param count: 返回的邮件数量限制
:return: 邮件列表 :return: 邮件列表
""" """
try: try:
# 获取时间索引 # 直接获取所有邮件
time_keys = redis_client.keys('time:*') email_keys = redis_client.keys('email:*')
# 按时间倒序排序
time_keys.sort(reverse=True)
# 限制数量
time_keys = time_keys[:count]
emails = [] emails = []
for time_key in time_keys:
# 从时间索引获取邮件键
email_key = redis_client.get(time_key)
if email_key:
# 获取邮件数据
email_data = redis_client.hgetall(email_key)
if email_data:
# 转换字节数据为字符串
email = {k.decode(): v.decode() for k, v in email_data.items()}
emails.append(email)
return emails # 获取每个邮件的数据
for email_key in email_keys:
email_data = redis_client.hgetall(email_key)
if email_data:
# 转换字节数据为字符串
email = {k.decode(): v.decode() for k, v in email_data.items()}
emails.append(email)
# 按时间戳排序
emails.sort(key=lambda x: x.get('timestamp', ''), reverse=True)
# 限制返回数量
return emails[:count]
except Exception as e: except Exception as e:
logger.error(f"Error getting all emails: {str(e)}") logger.error(f"Error getting all emails: {str(e)}")