|
31 | 31 | from typing import Optional, Dict, List
|
32 | 32 | from dataclasses import dataclass
|
33 | 33 |
|
34 |
| -from httpx import AsyncClient, Response |
| 34 | +from httpx import AsyncClient, Response, Timeout |
35 | 35 | from json import JSONDecodeError
|
36 | 36 | from httpx_retries import RetryTransport, Retry
|
37 | 37 | from google.auth import jwt
|
@@ -71,6 +71,9 @@ async def _extract_message(r: Response):
|
71 | 71 | return error_message
|
72 | 72 |
|
73 | 73 |
|
| 74 | +_timeout = Timeout(10, read=300) |
| 75 | + |
| 76 | + |
74 | 77 | class ServiceXAdapter:
|
75 | 78 | def __init__(self, url: str, refresh_token: Optional[str] = None):
|
76 | 79 | self.url = url
|
@@ -349,7 +352,9 @@ async def cancel_transform(self, transform_id=None):
|
349 | 352 | async def submit_transform(self, transform_request: TransformRequest) -> str:
|
350 | 353 | headers = await self._get_authorization()
|
351 | 354 | retry_options = Retry(total=3, backoff_factor=30)
|
352 |
| - async with AsyncClient(transport=RetryTransport(retry=retry_options)) as client: |
| 355 | + async with AsyncClient( |
| 356 | + transport=RetryTransport(retry=retry_options), timeout=_timeout |
| 357 | + ) as client: |
353 | 358 | r = await client.post(
|
354 | 359 | url=f"{self.url}/servicex/transformation",
|
355 | 360 | headers=headers,
|
|
0 commit comments