DEBUG: lock holder for LockExpiredError

This commit is contained in:
Masen Furer 2025-01-17 12:39:28 -08:00
parent fea0ceb08e
commit 9fba4fb72a
No known key found for this signature in database
GPG Key ID: B0008AD22B3B3A95

View File

@ -3451,12 +3451,11 @@ class StateManagerRedis(StateManager):
RuntimeError: If the state instance doesn't match the state name in the token.
"""
# Check that we're holding the lock.
if (
lock_id is not None
and await self.redis.get(self._lock_key(token)) != lock_id
):
lock_holder = await self.redis.get(self._lock_key(token))
if lock_id is not None and lock_holder != lock_id:
raise LockExpiredError(
f"Lock expired for token {token} while processing. Consider increasing "
f"Lock expired for token {token} while processing. My lock id {lock_id} != {lock_holder}. "
"Consider increasing "
f"`app.state_manager.lock_expiration` (currently {self.lock_expiration}) "
"or use `@rx.event(background=True)` decorator for long-running tasks."
)