22 lines
1.1 KiB
Python
22 lines
1.1 KiB
Python
import subprocess,json
|
|
def run(*a):return subprocess.check_output(a,text=True,stderr=subprocess.STDOUT)
|
|
for name in ('h3-caption-gpu3-canary-8a5f','huobao-comfy-gpu1'):
|
|
try:d=json.loads(run('docker','inspect',name))[0]
|
|
except subprocess.CalledProcessError:continue
|
|
print(name,d['State']['Status'])
|
|
r=subprocess.run(['docker','logs','--tail','100',name],capture_output=True,text=True)
|
|
lines=(r.stdout+r.stderr).replace('\r','\n').splitlines()
|
|
for l in lines:
|
|
if any(s in l for s in ('Traceback','Error','VDN','history restored','Cannot import','To see the GUI','Starting server','SelfLift','Total VRAM')):print(l[:700])
|
|
code='''import asyncio,httpx,json,app
|
|
async def main():
|
|
async with httpx.AsyncClient(timeout=15) as c:
|
|
for p in app.providers().values():
|
|
try:
|
|
r=await c.get(p.base_url+'/object_info/ApplyVDNH3',headers=app.provider_headers(p));d=r.json()
|
|
print(p.id,'VDN ready',r.status_code==200 and 'ApplyVDNH3' in d)
|
|
except Exception as e:print(p.id,type(e).__name__)
|
|
asyncio.run(main())
|
|
'''
|
|
print(run('docker','exec','huobao-vdn-normalizer','python','-c',code))
|