From 17b080f78e2335a2e2db3550c570e1d3d90ef46a Mon Sep 17 00:00:00 2001 From: liuwei Date: Thu, 12 Jun 2025 09:51:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=EF=BC=8C?= =?UTF-8?q?=E5=91=A8=E8=AE=A1=E7=AE=97=E8=B0=83=E6=95=B4=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/message_push_task/main.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/plugins/message_push_task/main.py b/plugins/message_push_task/main.py index 6ff9af6..d13d241 100644 --- a/plugins/message_push_task/main.py +++ b/plugins/message_push_task/main.py @@ -375,24 +375,26 @@ class MessagePushTask(MessagePluginInterface): # 获取当前是周几(0-6,0是周一) 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}")