Timeout Boundary

Define maximum execution time with graceful termination.

category: Tool Execution
arcade.dev/patterns

Context

Any tool that calls external services.

Problem

Hung operations block agents indefinitely.

Solution

Set timeout boundaries:
- Define limit: Maximum execution time
- Graceful termination: Clean up on timeout
- Partial results: Return what completed
- Clear error: Explain what timed out

Examples

Python
@tool(timeout_seconds=30)
def search_database(query: str) -> SearchResult:
    """Search database. Times out after 30 seconds.
    
    If timeout occurs, returns partial results if available.
    """
    with timeout(30, return_partial=True):
        return db.search(query)

Considerations

  • Set appropriate timeouts for each operation
  • Return partial results when possible
  • Log timeouts for monitoring

Related Patterns

More in Tool Execution