定时任务,周计算调整。

This commit is contained in:
liuwei
2025-06-12 09:51:48 +08:00
parent c798e3faa4
commit 17b080f78e

View File

@@ -375,24 +375,26 @@ class MessagePushTask(MessagePluginInterface):
# 获取当前是周几0-60是周一
current_weekday = now.weekday()
weekly_days = [int(day) for day in weekly_days]
weekly_days.sort()
# 找到下一个执行日
next_weekday = None
for day in sorted(weekly_days):
day = int(day)
for day in weekly_days:
if day > current_weekday:
next_weekday = day
break
# 如果本周没有下一个执行日,取下周的第一个执行日
if next_weekday is None:
next_weekday = int(weekly_days[0])
next_weekday = weekly_days[0]
# 计算到下周第一个执行日的天数
days_ahead = 7 - current_weekday + next_weekday
else:
days_ahead = next_weekday - current_weekday
next_time = now.replace(hour=hour, minute=minute, second=second, microsecond=0) + timedelta(
days=days_ahead)
# 计算下次执行时间
next_time = now.replace(hour=hour, minute=minute, second=second, microsecond=0) + timedelta(days=days_ahead)
except (json.JSONDecodeError, ValueError, IndexError) as e:
self.LOG.error(f"处理每周执行日失败: {e}")