mirror of
https://github.com/theroyallab/tabbyAPI.git
synced 2026-03-14 15:57:27 +00:00
Downloader: Make timeout configurable
Add an API parameter to set the timeout in seconds. Keep it to None by default for uninterrupted downloads. Signed-off-by: kingbri <bdashore3@proton.me>
This commit is contained in:
@@ -101,6 +101,7 @@ async def hf_repo_download(
|
||||
chunk_limit: Optional[float],
|
||||
include: Optional[List[str]],
|
||||
exclude: Optional[List[str]],
|
||||
timeout: Optional[int],
|
||||
repo_type: Optional[str] = "model",
|
||||
):
|
||||
"""Gets a repo's information from HuggingFace and downloads it locally."""
|
||||
@@ -145,8 +146,8 @@ async def hf_repo_download(
|
||||
logger.info(f"Saving {repo_id} to {str(download_path)}")
|
||||
|
||||
try:
|
||||
timeout = aiohttp.ClientTimeout(total=None) # Turn off timeout
|
||||
async with aiohttp.ClientSession(timeout=timeout) as session:
|
||||
client_timeout = aiohttp.ClientTimeout(total=timeout) # Turn off timeout
|
||||
async with aiohttp.ClientSession(timeout=client_timeout) as session:
|
||||
tasks = []
|
||||
logger.info(f"Starting download for {repo_id}")
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ class DownloadRequest(BaseModel):
|
||||
include: List[str] = Field(default_factory=_generate_include_list)
|
||||
exclude: List[str] = Field(default_factory=list)
|
||||
chunk_limit: Optional[int] = None
|
||||
timeout: Optional[int] = None
|
||||
|
||||
|
||||
class DownloadResponse(BaseModel):
|
||||
|
||||
Reference in New Issue
Block a user