🤖 自动格式化代码 [skip ci]

This commit is contained in:
github-actions[bot]
2025-04-23 16:12:44 +00:00
parent 9967843740
commit 30fde099b6
3 changed files with 12 additions and 12 deletions

View File

@@ -51,14 +51,14 @@ class BackgroundTaskManager:
self.log_interval = log_interval self.log_interval = log_interval
self.inactive_threshold = inactive_threshold # For cleanup task self.inactive_threshold = inactive_threshold # For cleanup task
self.interest_eval_interval = interest_eval_interval # 存储兴趣评估间隔 self.interest_eval_interval = interest_eval_interval # 存储兴趣评估间隔
self.random_deactivation_interval = random_deactivation_interval # 存储随机停用间隔 self.random_deactivation_interval = random_deactivation_interval # 存储随机停用间隔
# Task references # Task references
self._state_update_task: Optional[asyncio.Task] = None self._state_update_task: Optional[asyncio.Task] = None
self._cleanup_task: Optional[asyncio.Task] = None self._cleanup_task: Optional[asyncio.Task] = None
self._logging_task: Optional[asyncio.Task] = None self._logging_task: Optional[asyncio.Task] = None
self._interest_eval_task: Optional[asyncio.Task] = None # 新增兴趣评估任务引用 self._interest_eval_task: Optional[asyncio.Task] = None # 新增兴趣评估任务引用
self._random_deactivation_task: Optional[asyncio.Task] = None # 新增随机停用任务引用 self._random_deactivation_task: Optional[asyncio.Task] = None # 新增随机停用任务引用
self._tasks: List[Optional[asyncio.Task]] = [] # Keep track of all tasks self._tasks: List[Optional[asyncio.Task]] = [] # Keep track of all tasks
async def start_tasks(self): async def start_tasks(self):
@@ -110,7 +110,7 @@ class BackgroundTaskManager:
self._random_deactivation_task, self._random_deactivation_task,
self._run_random_deactivation_cycle, self._run_random_deactivation_cycle,
"hf_random_deactivation", "hf_random_deactivation",
"debug", # 设为debug避免过多日志 "debug", # 设为debug避免过多日志
f"随机停用任务已启动 间隔:{self.random_deactivation_interval}s", f"随机停用任务已启动 间隔:{self.random_deactivation_interval}s",
"_random_deactivation_task", "_random_deactivation_task",
), ),
@@ -249,6 +249,7 @@ class BackgroundTaskManager:
async def _perform_random_deactivation_work(self): async def _perform_random_deactivation_work(self):
"""执行一轮子心流随机停用检查。""" """执行一轮子心流随机停用检查。"""
await self.subheartflow_manager.randomly_deactivate_subflows() await self.subheartflow_manager.randomly_deactivate_subflows()
# --- 结束新增 --- # --- 结束新增 ---
# --- Specific Task Runners --- # # --- Specific Task Runners --- #

View File

@@ -364,17 +364,17 @@ class SubHeartflow:
if self.heart_fc_instance._loop_task is None or self.heart_fc_instance._loop_task.done(): if self.heart_fc_instance._loop_task is None or self.heart_fc_instance._loop_task.done():
logger.info(f"{log_prefix} HeartFChatting 实例存在但循环未运行,尝试启动...") logger.info(f"{log_prefix} HeartFChatting 实例存在但循环未运行,尝试启动...")
try: try:
await self.heart_fc_instance.start() # 启动循环 await self.heart_fc_instance.start() # 启动循环
logger.info(f"{log_prefix} HeartFChatting 循环已启动。") logger.info(f"{log_prefix} HeartFChatting 循环已启动。")
return True return True
except Exception as e: except Exception as e:
logger.error(f"{log_prefix} 尝试启动现有 HeartFChatting 循环时出错: {e}") logger.error(f"{log_prefix} 尝试启动现有 HeartFChatting 循环时出错: {e}")
logger.error(traceback.format_exc()) logger.error(traceback.format_exc())
return False # 启动失败 return False # 启动失败
else: else:
# 任务正在运行 # 任务正在运行
logger.debug(f"{log_prefix} HeartFChatting 已在运行中。") logger.debug(f"{log_prefix} HeartFChatting 已在运行中。")
return True # 已经在运行 return True # 已经在运行
# 如果实例不存在,则创建并启动 # 如果实例不存在,则创建并启动
logger.info(f"{log_prefix} 麦麦准备开始专注聊天 (创建新实例)...") logger.info(f"{log_prefix} 麦麦准备开始专注聊天 (创建新实例)...")
@@ -383,7 +383,7 @@ class SubHeartflow:
chat_id=self.chat_id, chat_id=self.chat_id,
) )
if await self.heart_fc_instance._initialize(): if await self.heart_fc_instance._initialize():
await self.heart_fc_instance.start() # 初始化成功后启动循环 await self.heart_fc_instance.start() # 初始化成功后启动循环
logger.info(f"{log_prefix} 麦麦已成功进入专注聊天模式 (新实例已启动)。") logger.info(f"{log_prefix} 麦麦已成功进入专注聊天模式 (新实例已启动)。")
return True return True
else: else:

View File

@@ -159,7 +159,7 @@ class HeartFChatting:
# 直接检查是否激活,无需检查计时器 # 直接检查是否激活,无需检查计时器
if not self._loop_active: if not self._loop_active:
should_start_loop = True should_start_loop = True
self._loop_active = True # 标记为活动,防止重复启动 self._loop_active = True # 标记为活动,防止重复启动
if should_start_loop: if should_start_loop:
# 检查是否已有任务在运行(理论上不应该,因为 _loop_active=False # 检查是否已有任务在运行(理论上不应该,因为 _loop_active=False
@@ -210,7 +210,7 @@ class HeartFChatting:
logger.info(f"{log_prefix} HeartFChatting: 麦麦打算好好聊聊 (进入专注模式)") logger.info(f"{log_prefix} HeartFChatting: 麦麦打算好好聊聊 (进入专注模式)")
try: try:
thinking_id = "" thinking_id = ""
while True: # Loop indefinitely until cancelled while True: # Loop indefinitely until cancelled
cycle_timers = {} # <--- Initialize timers dict for this cycle cycle_timers = {} # <--- Initialize timers dict for this cycle
# Access MessageManager directly # Access MessageManager directly
@@ -406,13 +406,12 @@ class HeartFChatting:
if cycle_duration > 0.1: if cycle_duration > 0.1:
logger.debug(f"{log_prefix} HeartFChatting: 周期耗时 {cycle_duration:.2f}s.") logger.debug(f"{log_prefix} HeartFChatting: 周期耗时 {cycle_duration:.2f}s.")
# --- Delay --- # # --- Delay --- #
try: try:
sleep_duration = 0.0 sleep_duration = 0.0
if not action_taken_this_cycle and cycle_duration < 1.5: if not action_taken_this_cycle and cycle_duration < 1.5:
sleep_duration = 1.5 - cycle_duration sleep_duration = 1.5 - cycle_duration
elif cycle_duration < 0.2: # Keep minimal sleep even after action elif cycle_duration < 0.2: # Keep minimal sleep even after action
sleep_duration = 0.2 sleep_duration = 0.2
if sleep_duration > 0: if sleep_duration > 0:
@@ -421,7 +420,7 @@ class HeartFChatting:
except asyncio.CancelledError: except asyncio.CancelledError:
logger.info(f"{log_prefix} Sleep interrupted, loop likely cancelling.") logger.info(f"{log_prefix} Sleep interrupted, loop likely cancelling.")
break # Exit loop immediately on cancellation break # Exit loop immediately on cancellation
except asyncio.CancelledError: except asyncio.CancelledError:
logger.info(f"{log_prefix} HeartFChatting: 麦麦的聊天主循环被取消了") logger.info(f"{log_prefix} HeartFChatting: 麦麦的聊天主循环被取消了")