import pathlib,json,subprocess,base64 root=pathlib.Path('/home/ps/huobao-gpu-selection') rows=[r for r in json.loads((root/'production-task-ids.json').read_text()) if r[2]=='processing'] lookup={} for tid,encoded,status in rows: try: value=encoded.removeprefix('h3v2.');provider,jid=base64.urlsafe_b64decode(value+'='*(-len(value)%4)).decode().split(':',1) lookup[str(tid)]={'provider':provider,'id':jid,'encoded':encoded} except Exception:pass code='''import asyncio,httpx,json,app LOOKUP=__LOOKUP__ async def main(): async with httpx.AsyncClient(timeout=30) as c: for provider in set(x['provider'] for x in LOOKUP.values()): p=app.providers()[provider];h=(await c.get(p.base_url+'/history',headers=app.provider_headers(p))).json();q=(await c.get(p.base_url+'/queue',headers=app.provider_headers(p))).json() ids={x[1] for key in ('queue_pending','queue_running') for x in q.get(key,[])} for item in LOOKUP.values(): if item['provider']==provider:item.update(in_queue=item['id'] in ids,remote_status=(h.get(item['id'],{}).get('status') or {}).get('status_str')) print(json.dumps(LOOKUP)) asyncio.run(main()) '''.replace('__LOOKUP__',repr(lookup)) out=subprocess.check_output(['docker','exec','huobao-vdn-normalizer','python','-c',code],text=True) (root/'cleared-task-states.json').write_text(out);print(out)