refactor: dynamically retrieve maximum buffer size from environment in SizedLogBuffer (#4334)
* Refactor logger to dynamically retrieve max buffer size from environment variable * fix: add setter to max property
This commit is contained in:
parent
be1ba57cb5
commit
82915be03f
1 changed files with 14 additions and 5 deletions
|
|
@ -32,16 +32,12 @@ class SizedLogBuffer:
|
|||
The buffer can be overwritten by an env variable LANGFLOW_LOG_RETRIEVER_BUFFER_SIZE
|
||||
because the logger is initialized before the settings_service are loaded.
|
||||
"""
|
||||
self.max: int = 0
|
||||
env_buffer_size = os.getenv("LANGFLOW_LOG_RETRIEVER_BUFFER_SIZE", "0")
|
||||
if env_buffer_size.isdigit():
|
||||
self.max = int(env_buffer_size)
|
||||
|
||||
self.buffer: deque = deque()
|
||||
|
||||
self._max_readers = max_readers
|
||||
self._wlock = Lock()
|
||||
self._rsemaphore = Semaphore(max_readers)
|
||||
self._max = 0
|
||||
|
||||
def get_write_lock(self) -> Lock:
|
||||
return self._wlock
|
||||
|
|
@ -106,6 +102,19 @@ class SizedLogBuffer:
|
|||
finally:
|
||||
self._rsemaphore.release()
|
||||
|
||||
@property
|
||||
def max(self) -> int:
|
||||
# Get it dynamically to allow for env variable changes
|
||||
if self._max == 0:
|
||||
env_buffer_size = os.getenv("LANGFLOW_LOG_RETRIEVER_BUFFER_SIZE", "0")
|
||||
if env_buffer_size.isdigit():
|
||||
self._max = int(env_buffer_size)
|
||||
return self._max
|
||||
|
||||
@max.setter
|
||||
def max(self, value: int) -> None:
|
||||
self._max = value
|
||||
|
||||
def enabled(self) -> bool:
|
||||
return self.max > 0
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue