Fixlinting
This commit is contained in:
@@ -69,7 +69,7 @@ class UnifiedLock(Generic[T]):
|
||||
f"== Lock == Process {self._pid}: Acquiring lock '{self._name}' (async={self._is_async})",
|
||||
enable_output=self._enable_logging,
|
||||
)
|
||||
|
||||
|
||||
# If in multiprocess mode and async lock exists, acquire it first
|
||||
if not self._is_async and self._async_lock is not None:
|
||||
direct_log(
|
||||
@@ -81,13 +81,13 @@ class UnifiedLock(Generic[T]):
|
||||
f"== Lock == Process {self._pid}: Async lock for '{self._name}' acquired",
|
||||
enable_output=self._enable_logging,
|
||||
)
|
||||
|
||||
|
||||
# Then acquire the main lock
|
||||
if self._is_async:
|
||||
await self._lock.acquire()
|
||||
else:
|
||||
self._lock.acquire()
|
||||
|
||||
|
||||
direct_log(
|
||||
f"== Lock == Process {self._pid}: Lock '{self._name}' acquired (async={self._is_async})",
|
||||
enable_output=self._enable_logging,
|
||||
@@ -95,9 +95,13 @@ class UnifiedLock(Generic[T]):
|
||||
return self
|
||||
except Exception as e:
|
||||
# If main lock acquisition fails, release the async lock if it was acquired
|
||||
if not self._is_async and self._async_lock is not None and self._async_lock.locked():
|
||||
if (
|
||||
not self._is_async
|
||||
and self._async_lock is not None
|
||||
and self._async_lock.locked()
|
||||
):
|
||||
self._async_lock.release()
|
||||
|
||||
|
||||
direct_log(
|
||||
f"== Lock == Process {self._pid}: Failed to acquire lock '{self._name}': {e}",
|
||||
level="ERROR",
|
||||
@@ -112,15 +116,15 @@ class UnifiedLock(Generic[T]):
|
||||
f"== Lock == Process {self._pid}: Releasing lock '{self._name}' (async={self._is_async})",
|
||||
enable_output=self._enable_logging,
|
||||
)
|
||||
|
||||
|
||||
# Release main lock first
|
||||
if self._is_async:
|
||||
self._lock.release()
|
||||
else:
|
||||
self._lock.release()
|
||||
|
||||
|
||||
main_lock_released = True
|
||||
|
||||
|
||||
# Then release async lock if in multiprocess mode
|
||||
if not self._is_async and self._async_lock is not None:
|
||||
direct_log(
|
||||
@@ -128,7 +132,7 @@ class UnifiedLock(Generic[T]):
|
||||
enable_output=self._enable_logging,
|
||||
)
|
||||
self._async_lock.release()
|
||||
|
||||
|
||||
direct_log(
|
||||
f"== Lock == Process {self._pid}: Lock '{self._name}' released (async={self._is_async})",
|
||||
enable_output=self._enable_logging,
|
||||
@@ -139,9 +143,13 @@ class UnifiedLock(Generic[T]):
|
||||
level="ERROR",
|
||||
enable_output=self._enable_logging,
|
||||
)
|
||||
|
||||
|
||||
# If main lock release failed but async lock hasn't been released, try to release it
|
||||
if not main_lock_released and not self._is_async and self._async_lock is not None:
|
||||
if (
|
||||
not main_lock_released
|
||||
and not self._is_async
|
||||
and self._async_lock is not None
|
||||
):
|
||||
try:
|
||||
direct_log(
|
||||
f"== Lock == Process {self._pid}: Attempting to release async lock after main lock failure",
|
||||
@@ -159,7 +167,7 @@ class UnifiedLock(Generic[T]):
|
||||
level="ERROR",
|
||||
enable_output=self._enable_logging,
|
||||
)
|
||||
|
||||
|
||||
raise
|
||||
|
||||
def __enter__(self) -> "UnifiedLock[T]":
|
||||
@@ -321,7 +329,7 @@ def initialize_share_data(workers: int = 1):
|
||||
_shared_dicts = _manager.dict()
|
||||
_init_flags = _manager.dict()
|
||||
_update_flags = _manager.dict()
|
||||
|
||||
|
||||
# Initialize async locks for multiprocess mode
|
||||
_async_locks = {
|
||||
"internal_lock": asyncio.Lock(),
|
||||
@@ -330,7 +338,7 @@ def initialize_share_data(workers: int = 1):
|
||||
"graph_db_lock": asyncio.Lock(),
|
||||
"data_init_lock": asyncio.Lock(),
|
||||
}
|
||||
|
||||
|
||||
direct_log(
|
||||
f"Process {os.getpid()} Shared-Data created for Multiple Process (workers={workers})"
|
||||
)
|
||||
|
Reference in New Issue
Block a user