mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-05-11 01:32:31 +08:00
[Partner Nodes] additionally use Baidu server to detect the accessibility of internet (#13803)
Signed-off-by: bigcat88 <bigcat88@icloud.com>
This commit is contained in:
parent
87878f354f
commit
65045730a6
@ -488,10 +488,30 @@ async def _diagnose_connectivity() -> dict[str, bool]:
|
|||||||
"api_accessible": False,
|
"api_accessible": False,
|
||||||
}
|
}
|
||||||
timeout = aiohttp.ClientTimeout(total=5.0)
|
timeout = aiohttp.ClientTimeout(total=5.0)
|
||||||
|
|
||||||
|
# Probe Google and Baidu in parallel: Google is blocked by the GFW in mainland China, so a Baidu probe is required
|
||||||
|
# to correctly detect that Chinese users with working internet do have working internet.
|
||||||
|
internet_probe_urls = ("https://www.google.com", "https://www.baidu.com")
|
||||||
|
|
||||||
async with aiohttp.ClientSession(timeout=timeout) as session:
|
async with aiohttp.ClientSession(timeout=timeout) as session:
|
||||||
with contextlib.suppress(ClientError, OSError):
|
async def _probe(url: str) -> bool:
|
||||||
async with session.get("https://www.google.com") as resp:
|
try:
|
||||||
results["internet_accessible"] = resp.status < 500
|
async with session.get(url) as resp:
|
||||||
|
return resp.status < 500
|
||||||
|
except (ClientError, OSError, asyncio.TimeoutError):
|
||||||
|
return False
|
||||||
|
|
||||||
|
probe_tasks = [asyncio.create_task(_probe(u)) for u in internet_probe_urls]
|
||||||
|
try:
|
||||||
|
for fut in asyncio.as_completed(probe_tasks):
|
||||||
|
if await fut:
|
||||||
|
results["internet_accessible"] = True
|
||||||
|
break
|
||||||
|
finally:
|
||||||
|
for t in probe_tasks:
|
||||||
|
if not t.done():
|
||||||
|
t.cancel()
|
||||||
|
await asyncio.gather(*probe_tasks, return_exceptions=True)
|
||||||
if not results["internet_accessible"]:
|
if not results["internet_accessible"]:
|
||||||
return results
|
return results
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user