> ## Documentation Index
> Fetch the complete documentation index at: https://resq-dependabot-github-actions-github-actions-478e18be3d.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Timeout

<a id="resq_mcp.core.timeout" />

# resq\_mcp.core.timeout

Centralized timeout configuration for ResQ MCP server.

Provides consistent, env-var-configurable timeout values across all tools.
Inspired by Archon MCP server timeout patterns.

Environment variables:
RESQ\_REQUEST\_TIMEOUT: Total request timeout in seconds (default: 30)
RESQ\_CONNECT\_TIMEOUT: Connection timeout in seconds (default: 5)
RESQ\_READ\_TIMEOUT: Read timeout in seconds (default: 20)
RESQ\_POLLING\_BASE\_INTERVAL: Base polling interval in seconds (default: 1)
RESQ\_POLLING\_MAX\_INTERVAL: Max polling interval in seconds (default: 5)
RESQ\_MAX\_POLLING\_ATTEMPTS: Max polling attempts (default: 30)

<a id="resq_mcp.core.timeout.annotations" />

## annotations

<a id="resq_mcp.core.timeout.os" />

## os

<a id="resq_mcp.core.timeout.dataclass" />

## dataclass

<a id="resq_mcp.core.timeout.TimeoutConfig" />

## TimeoutConfig Objects

```python theme={null}
@dataclass(frozen=True)
class TimeoutConfig()
```

Immutable timeout configuration.

<a id="resq_mcp.core.timeout.TimeoutConfig.total" />

#### total

<a id="resq_mcp.core.timeout.TimeoutConfig.connect" />

#### connect

<a id="resq_mcp.core.timeout.TimeoutConfig.read" />

#### read

<a id="resq_mcp.core.timeout.get_default_timeout" />

#### get\_default\_timeout

```python theme={null}
def get_default_timeout() -> TimeoutConfig
```

Get default timeout configuration from environment or defaults.

<a id="resq_mcp.core.timeout.get_max_polling_attempts" />

#### get\_max\_polling\_attempts

```python theme={null}
def get_max_polling_attempts() -> int
```

Get maximum number of polling attempts.

<a id="resq_mcp.core.timeout.get_polling_interval" />

#### get\_polling\_interval

```python theme={null}
def get_polling_interval(attempt: int) -> float
```

Get polling interval with exponential backoff.

**Arguments**:

* `attempt` - Current attempt number (0-based).

**Returns**:

Sleep interval in seconds.
