Remove lock usage entirely to fix pickling issues

Co-Authored-By: Joe Moura <joao@crewai.com>
This commit is contained in:
Devin AI
2025-05-06 00:20:18 +00:00
parent 171f8b63fd
commit 79547fba25

View File

@@ -1,5 +1,4 @@
import os
import threading
from abc import ABC, abstractmethod
from pathlib import Path
from typing import Dict, List, Optional, Union
@@ -30,7 +29,6 @@ class BaseFileKnowledgeSource(BaseKnowledgeSource, ABC):
"""
_logger: Logger = Logger(verbose=True)
_lock = threading.Lock() # Thread-safe lock for file operations
file_path: Optional[Union[Path, List[Path], str, List[str]]] = Field(
default=None,
@@ -161,12 +159,9 @@ class BaseFileKnowledgeSource(BaseKnowledgeSource, ABC):
previously recorded timestamps to detect changes. When a file has been modified,
it logs the change and returns True to trigger a reload.
Thread-safe: Uses a lock to prevent concurrent modifications.
Returns:
bool: True if any file has been modified, False otherwise.
"""
with self._lock:
for path in self.safe_file_paths:
try:
if not path.exists():