Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion api/chute/router.py
Original file line number Diff line number Diff line change
Expand Up @@ -2629,7 +2629,7 @@ async def update_common_attributes(
await set_chute_disabled(chute.chute_id, args.disabled)

# Invalidate caches immediately so other processes see the updated state
await invalidate_chute_cache(chute.chute_id, chute.name)
await invalidate_chute_cache(chute.chute_id, chute.name, chute.slug)

# If disabling a private chute, terminate all instances with valid_termination=true
if args.disabled and not chute.public:
Expand Down
9 changes: 7 additions & 2 deletions api/chute/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -664,6 +664,7 @@ async def _get_one(name_or_id: str, nonce: int = None):
or_(
Chute.name == name_or_id,
Chute.chute_id == name_or_id,
Chute.slug == name_or_id,
)
)
.order_by((Chute.user_id == chute_user).desc())
Expand Down Expand Up @@ -699,19 +700,23 @@ async def get_one(name_or_id: str, nonce: int = None):
return await _get_one(name_or_id, nonce=nonce)


async def invalidate_chute_cache(chute_id: str, chute_name: str = None):
async def invalidate_chute_cache(chute_id: str, chute_name: str = None, chute_slug: str = None):
"""
Invalidate all caches for a chute (both by ID and by name).
Invalidate all caches for a chute (by ID, name, and slug).
"""
# Clear Redis cache
await settings.redis_client.delete(f"_chute:{chute_id}")
if chute_name:
await settings.redis_client.delete(f"_chute:{chute_name}")
if chute_slug:
await settings.redis_client.delete(f"_chute:{chute_slug}")

# Clear in-memory alru_cache
_get_one.cache_invalidate(chute_id)
if chute_name:
_get_one.cache_invalidate(chute_name)
if chute_slug:
_get_one.cache_invalidate(chute_slug)


@alru_cache(maxsize=5000, ttl=300)
Expand Down
Loading