mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-04-08 03:00:28 -04:00
create helper functions for clearing caches
This commit is contained in:
@@ -928,7 +928,7 @@ async def execute_graph(
|
||||
cache.get_cached_graphs_executions.cache_delete(
|
||||
user_id=user_id, page=1, page_size=250
|
||||
)
|
||||
for page in range(1, 10):
|
||||
for page in range(1, 20):
|
||||
cache.get_cached_graph_execution.cache_delete(
|
||||
graph_id=graph_id, user_id=user_id, version=graph_version
|
||||
)
|
||||
|
||||
@@ -27,6 +27,19 @@ router = APIRouter(
|
||||
)
|
||||
|
||||
|
||||
def _clear_presets_list_cache(user_id: str, num_pages: int = 20):
|
||||
"""
|
||||
Clear the presets list cache for the given user.
|
||||
"""
|
||||
for page in range(1, num_pages):
|
||||
library_cache.get_cached_library_presets.cache_delete(
|
||||
user_id=user_id, page=page, page_size=10
|
||||
)
|
||||
library_cache.get_cached_library_presets.cache_delete(
|
||||
user_id=user_id, page=page, page_size=20
|
||||
)
|
||||
|
||||
|
||||
@router.get(
|
||||
"/presets",
|
||||
summary="List presets",
|
||||
@@ -146,14 +159,7 @@ async def create_preset(
|
||||
else:
|
||||
result = await db.create_preset_from_graph_execution(user_id, preset)
|
||||
|
||||
# Clear presets list cache after creating new preset
|
||||
for page in range(1, 5):
|
||||
library_cache.get_cached_library_presets.cache_delete(
|
||||
user_id=user_id, page=page, page_size=10
|
||||
)
|
||||
library_cache.get_cached_library_presets.cache_delete(
|
||||
user_id=user_id, page=page, page_size=20
|
||||
)
|
||||
_clear_presets_list_cache(user_id)
|
||||
|
||||
return result
|
||||
except NotFoundError as e:
|
||||
@@ -223,14 +229,7 @@ async def setup_trigger(
|
||||
),
|
||||
)
|
||||
|
||||
# Clear presets list cache after creating new preset
|
||||
for page in range(1, 5):
|
||||
library_cache.get_cached_library_presets.cache_delete(
|
||||
user_id=user_id, page=page, page_size=10
|
||||
)
|
||||
library_cache.get_cached_library_presets.cache_delete(
|
||||
user_id=user_id, page=page, page_size=20
|
||||
)
|
||||
_clear_presets_list_cache(user_id)
|
||||
|
||||
return new_preset
|
||||
|
||||
@@ -315,13 +314,8 @@ async def update_preset(
|
||||
library_cache.get_cached_library_preset.cache_delete(
|
||||
preset_id=preset_id, user_id=user_id
|
||||
)
|
||||
for page in range(1, 5):
|
||||
library_cache.get_cached_library_presets.cache_delete(
|
||||
user_id=user_id, page=page, page_size=10
|
||||
)
|
||||
library_cache.get_cached_library_presets.cache_delete(
|
||||
user_id=user_id, page=page, page_size=20
|
||||
)
|
||||
_clear_presets_list_cache(user_id)
|
||||
|
||||
except Exception as e:
|
||||
logger.exception("Preset update failed for user %s: %s", user_id, e)
|
||||
raise HTTPException(
|
||||
@@ -400,13 +394,7 @@ async def delete_preset(
|
||||
library_cache.get_cached_library_preset.cache_delete(
|
||||
preset_id=preset_id, user_id=user_id
|
||||
)
|
||||
for page in range(1, 5):
|
||||
library_cache.get_cached_library_presets.cache_delete(
|
||||
user_id=user_id, page=page, page_size=10
|
||||
)
|
||||
library_cache.get_cached_library_presets.cache_delete(
|
||||
user_id=user_id, page=page, page_size=20
|
||||
)
|
||||
_clear_presets_list_cache(user_id)
|
||||
except Exception as e:
|
||||
logger.exception(
|
||||
"Error deleting preset %s for user %s: %s", preset_id, user_id, e
|
||||
|
||||
@@ -30,6 +30,15 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
router = fastapi.APIRouter()
|
||||
|
||||
|
||||
def _clear_store_agents_cache(user_id: str, num_pages: int = 20):
|
||||
"""
|
||||
Clear the store agents cache for the given user.
|
||||
"""
|
||||
for page in range(1, num_pages):
|
||||
_get_cached_store_agents.cache_delete(user_id, page=page, page_size=20)
|
||||
|
||||
|
||||
##############################################
|
||||
############### Profile Endpoints ############
|
||||
##############################################
|
||||
@@ -458,10 +467,7 @@ async def delete_submission(
|
||||
|
||||
# Clear submissions cache for this specific user after deletion
|
||||
if result:
|
||||
# Clear user's own agents cache - we don't know all page/size combinations
|
||||
for page in range(1, 20):
|
||||
# Clear user's submissions cache for common defaults
|
||||
_get_cached_submissions.cache_delete(user_id, page=page, page_size=20)
|
||||
_clear_store_agents_cache(user_id)
|
||||
|
||||
return result
|
||||
except Exception:
|
||||
@@ -564,10 +570,7 @@ async def create_submission(
|
||||
recommended_schedule_cron=submission_request.recommended_schedule_cron,
|
||||
)
|
||||
|
||||
# Clear user's own agents cache - we don't know all page/size combinations
|
||||
for page in range(1, 20):
|
||||
# Clear user's submissions cache for common defaults
|
||||
_get_cached_submissions.cache_delete(user_id, page=page, page_size=20)
|
||||
_clear_store_agents_cache(user_id)
|
||||
|
||||
return result
|
||||
except Exception:
|
||||
@@ -618,10 +621,7 @@ async def edit_submission(
|
||||
recommended_schedule_cron=submission_request.recommended_schedule_cron,
|
||||
)
|
||||
|
||||
# Clear user's own agents cache - we don't know all page/size combinations
|
||||
for page in range(1, 20):
|
||||
# Clear user's submissions cache for common defaults
|
||||
_get_cached_submissions.cache_delete(user_id, page=page, page_size=20)
|
||||
_clear_store_agents_cache(user_id)
|
||||
|
||||
return result
|
||||
|
||||
|
||||
Reference in New Issue
Block a user