Refactor timeout mechanism to improve code quality and error handling

Co-Authored-By: Joe Moura <joao@crewai.com>
This commit is contained in:
Devin AI
2025-03-16 22:51:34 +00:00
parent 4487d2538a
commit 6fa8f3b73f
3 changed files with 182 additions and 99 deletions

View File

@@ -1,7 +1,24 @@
class AgentExecutionTimeoutError(Exception):
"""Exception raised when an agent execution exceeds the maximum allowed time."""
def __init__(self, max_execution_time: int, message: str | None = None):
def __init__(
self,
max_execution_time: int,
agent_name: str | None = None,
task_description: str | None = None,
message: str | None = None
):
self.max_execution_time = max_execution_time
self.message = message or f"Agent execution exceeded maximum allowed time of {max_execution_time} seconds"
self.agent_name = agent_name
self.task_description = task_description
# Generate a detailed error message if not provided
if not message:
message = f"Agent execution exceeded maximum allowed time of {max_execution_time} seconds"
if agent_name:
message += f" for agent: {agent_name}"
if task_description:
message += f" while executing task: {task_description}"
self.message = message
super().__init__(self.message)