From 0011a8ce9feae1d791250da8d2dfc737b12392b6 Mon Sep 17 00:00:00 2001 From: Ke Sun Date: Tue, 10 Feb 2026 10:44:42 +0800 Subject: [PATCH] feat(celery): enable periodic task scheduling for memory management --- api/app/celery_app.py | 69 ++++++++++++++++++++++--------------------- 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/api/app/celery_app.py b/api/app/celery_app.py index db78a368..8ef44975 100644 --- a/api/app/celery_app.py +++ b/api/app/celery_app.py @@ -90,40 +90,41 @@ celery_app.conf.update( celery_app.autodiscover_tasks(['app']) # Celery Beat schedule for periodic tasks -# memory_increment_schedule = timedelta(hours=settings.MEMORY_INCREMENT_INTERVAL_HOURS) -# memory_cache_regeneration_schedule = timedelta(hours=settings.MEMORY_CACHE_REGENERATION_HOURS) -# workspace_reflection_schedule = timedelta(seconds=30) # 每30秒运行一次settings.REFLECTION_INTERVAL_TIME -# forgetting_cycle_schedule = timedelta(hours=24) # 每24小时运行一次遗忘周期 +memory_increment_schedule = timedelta(hours=settings.MEMORY_INCREMENT_INTERVAL_HOURS) +memory_cache_regeneration_schedule = timedelta(hours=settings.MEMORY_CACHE_REGENERATION_HOURS) +# 这个30秒的设计不合理 +workspace_reflection_schedule = timedelta(seconds=30) # 每30秒运行一次settings.REFLECTION_INTERVAL_TIME +forgetting_cycle_schedule = timedelta(hours=24) # 每24小时运行一次遗忘周期 -# 构建定时任务配置 -# beat_schedule_config = { -# "run-workspace-reflection": { -# "task": "app.tasks.workspace_reflection_task", -# "schedule": workspace_reflection_schedule, -# "args": (), -# }, -# "regenerate-memory-cache": { -# "task": "app.tasks.regenerate_memory_cache", -# "schedule": memory_cache_regeneration_schedule, -# "args": (), -# }, -# "run-forgetting-cycle": { -# "task": "app.tasks.run_forgetting_cycle_task", -# "schedule": forgetting_cycle_schedule, -# "kwargs": { -# "config_id": None, # 使用默认配置,可以通过环境变量配置 -# }, -# }, -# } +#构建定时任务配置 +beat_schedule_config = { + "run-workspace-reflection": { + "task": "app.tasks.workspace_reflection_task", + "schedule": workspace_reflection_schedule, + "args": (), + }, + "regenerate-memory-cache": { + "task": "app.tasks.regenerate_memory_cache", + "schedule": memory_cache_regeneration_schedule, + "args": (), + }, + "run-forgetting-cycle": { + "task": "app.tasks.run_forgetting_cycle_task", + "schedule": forgetting_cycle_schedule, + "kwargs": { + "config_id": None, # 使用默认配置,可以通过环境变量配置 + }, + }, +} -# 如果配置了默认工作空间ID,则添加记忆总量统计任务 -# if settings.DEFAULT_WORKSPACE_ID: -# beat_schedule_config["write-total-memory"] = { -# "task": "app.controllers.memory_storage_controller.search_all", -# "schedule": memory_increment_schedule, -# "kwargs": { -# "workspace_id": settings.DEFAULT_WORKSPACE_ID, -# }, -# } +#如果配置了默认工作空间ID,则添加记忆总量统计任务 +if settings.DEFAULT_WORKSPACE_ID: + beat_schedule_config["write-total-memory"] = { + "task": "app.controllers.memory_storage_controller.search_all", + "schedule": memory_increment_schedule, + "kwargs": { + "workspace_id": settings.DEFAULT_WORKSPACE_ID, + }, + } -# celery_app.conf.beat_schedule = beat_schedule_config +celery_app.conf.beat_schedule = beat_schedule_config