Merge branch 'master' into dr-support-pip-cm

This commit is contained in:
Dr.Lt.Data 2025-10-27 12:50:24 +09:00
commit c07908a37e
4 changed files with 12 additions and 17 deletions

View File

@ -17,7 +17,7 @@ on:
description: 'cuda version' description: 'cuda version'
required: true required: true
type: string type: string
default: "129" default: "130"
python_minor: python_minor:
description: 'python minor version' description: 'python minor version'
@ -29,7 +29,7 @@ on:
description: 'python patch version' description: 'python patch version'
required: true required: true
type: string type: string
default: "6" default: "9"
# push: # push:
# branches: # branches:
# - master # - master

View File

@ -2,7 +2,6 @@ import asyncio
import contextlib import contextlib
import json import json
import logging import logging
import socket
import time import time
import uuid import uuid
from dataclasses import dataclass from dataclasses import dataclass
@ -456,24 +455,20 @@ async def _diagnose_connectivity() -> dict[str, bool]:
results = { results = {
"internet_accessible": False, "internet_accessible": False,
"api_accessible": False, "api_accessible": False,
"is_local_issue": False,
"is_api_issue": False,
} }
timeout = aiohttp.ClientTimeout(total=5.0) timeout = aiohttp.ClientTimeout(total=5.0)
async with aiohttp.ClientSession(timeout=timeout) as session: async with aiohttp.ClientSession(timeout=timeout) as session:
try: with contextlib.suppress(ClientError, OSError):
async with session.get("https://www.google.com") as resp: async with session.get("https://www.google.com") as resp:
results["internet_accessible"] = resp.status < 500 results["internet_accessible"] = resp.status < 500
except (ClientError, asyncio.TimeoutError, socket.gaierror): if not results["internet_accessible"]:
results["is_local_issue"] = True
return results return results
parsed = urlparse(default_base_url()) parsed = urlparse(default_base_url())
health_url = f"{parsed.scheme}://{parsed.netloc}/health" health_url = f"{parsed.scheme}://{parsed.netloc}/health"
with contextlib.suppress(ClientError, asyncio.TimeoutError): with contextlib.suppress(ClientError, OSError):
async with session.get(health_url) as resp: async with session.get(health_url) as resp:
results["api_accessible"] = resp.status < 500 results["api_accessible"] = resp.status < 500
results["is_api_issue"] = results["internet_accessible"] and not results["api_accessible"]
return results return results
@ -790,7 +785,7 @@ async def _request_base(cfg: _RequestConfig, expect_binary: bool):
except ProcessingInterrupted: except ProcessingInterrupted:
logging.debug("Polling was interrupted by user") logging.debug("Polling was interrupted by user")
raise raise
except (ClientError, asyncio.TimeoutError, socket.gaierror) as e: except (ClientError, OSError) as e:
if attempt <= cfg.max_retries: if attempt <= cfg.max_retries:
logging.warning( logging.warning(
"Connection error calling %s %s. Retrying in %.2fs (%d/%d): %s", "Connection error calling %s %s. Retrying in %.2fs (%d/%d): %s",
@ -824,7 +819,7 @@ async def _request_base(cfg: _RequestConfig, expect_binary: bool):
delay *= cfg.retry_backoff delay *= cfg.retry_backoff
continue continue
diag = await _diagnose_connectivity() diag = await _diagnose_connectivity()
if diag.get("is_local_issue"): if not diag["internet_accessible"]:
try: try:
request_logger.log_request_response( request_logger.log_request_response(
operation_id=operation_id, operation_id=operation_id,

View File

@ -32,7 +32,7 @@ async def download_url_to_bytesio(
dest: Optional[Union[BytesIO, IO[bytes], str, Path]], dest: Optional[Union[BytesIO, IO[bytes], str, Path]],
*, *,
timeout: Optional[float] = None, timeout: Optional[float] = None,
max_retries: int = 3, max_retries: int = 5,
retry_delay: float = 1.0, retry_delay: float = 1.0,
retry_backoff: float = 2.0, retry_backoff: float = 2.0,
cls: type[COMFY_IO.ComfyNode] = None, cls: type[COMFY_IO.ComfyNode] = None,
@ -177,7 +177,7 @@ async def download_url_to_bytesio(
return return
except asyncio.CancelledError: except asyncio.CancelledError:
raise ProcessingInterrupted("Task cancelled") from None raise ProcessingInterrupted("Task cancelled") from None
except (ClientError, asyncio.TimeoutError) as e: except (ClientError, OSError) as e:
if attempt <= max_retries: if attempt <= max_retries:
with contextlib.suppress(Exception): with contextlib.suppress(Exception):
request_logger.log_request_response( request_logger.log_request_response(
@ -191,7 +191,7 @@ async def download_url_to_bytesio(
continue continue
diag = await _diagnose_connectivity() diag = await _diagnose_connectivity()
if diag.get("is_local_issue"): if not diag["internet_accessible"]:
raise LocalNetworkError( raise LocalNetworkError(
"Unable to connect to the network. Please check your internet connection and try again." "Unable to connect to the network. Please check your internet connection and try again."
) from e ) from e

View File

@ -290,7 +290,7 @@ async def upload_file(
return return
except asyncio.CancelledError: except asyncio.CancelledError:
raise ProcessingInterrupted("Task cancelled") from None raise ProcessingInterrupted("Task cancelled") from None
except (aiohttp.ClientError, asyncio.TimeoutError) as e: except (aiohttp.ClientError, OSError) as e:
if attempt <= max_retries: if attempt <= max_retries:
with contextlib.suppress(Exception): with contextlib.suppress(Exception):
request_logger.log_request_response( request_logger.log_request_response(
@ -313,7 +313,7 @@ async def upload_file(
continue continue
diag = await _diagnose_connectivity() diag = await _diagnose_connectivity()
if diag.get("is_local_issue"): if not diag["internet_accessible"]:
raise LocalNetworkError( raise LocalNetworkError(
"Unable to connect to the network. Please check your internet connection and try again." "Unable to connect to the network. Please check your internet connection and try again."
) from e ) from e