diff --git a/plugins/message_push_task/main.py b/plugins/message_push_task/main.py index 736ee30..66b62f1 100644 --- a/plugins/message_push_task/main.py +++ b/plugins/message_push_task/main.py @@ -142,14 +142,21 @@ class MessagePushTask(MessagePluginInterface): recurring_time = task.get('recurring_time') if recurring_time: try: - hour, minute = map(int, recurring_time.split(':')) + # 处理带秒数的时间格式 + time_parts = recurring_time.split(':') + if len(time_parts) == 3: + hour, minute, second = map(int, time_parts) + else: + hour, minute = map(int, time_parts) + second = 0 + # 检查当前时间是否在目标时间的前后5秒内 - target_time = now.replace(hour=hour, minute=minute, second=0, microsecond=0) + target_time = now.replace(hour=hour, minute=minute, second=second, microsecond=0) time_diff = abs((now - target_time).total_seconds()) if time_diff > 5: # 允许5秒的误差 continue - except (ValueError, AttributeError): - self.LOG.error(f"无效的执行时间格式: {recurring_time}") + except (ValueError, AttributeError) as e: + self.LOG.error(f"无效的执行时间格式: {recurring_time}, 错误: {e}") continue # 更新任务状态为执行中