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}")