Selaa lähdekoodia

DEBUG: lock holder for LockExpiredError

Masen Furer 4 kuukautta sitten
vanhempi
säilyke
9fba4fb72a
1 muutettua tiedostoa jossa 4 lisäystä ja 5 poistoa
  1. 4 5
      reflex/state.py

+ 4 - 5
reflex/state.py

@@ -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."
             )