From 673257eb61da80b18a40c51363db2e179c1e8155 Mon Sep 17 00:00:00 2001 From: nafer Date: Fri, 6 Mar 2026 00:12:08 +0300 Subject: [PATCH] zz3 --- __pycache__/app.cpython-312.pyc | Bin 15373 -> 15895 bytes app.py | 18 ++++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/__pycache__/app.cpython-312.pyc b/__pycache__/app.cpython-312.pyc index fd0f8224528eacb3d21e70c9abc4beb9c1a4df6b..2e2fcf3ed952482ede66572d1e974dff81c4b0cf 100644 GIT binary patch delta 1461 zcmZWpT}&KR6ux(MX15FMbpL;WUCK{Op^z50C0h&@P2pr#@A#aIJAkd28kAu&x&m-NB4n3PU=z?Vkewze_qllSg+MB_Z1?>pz7 z?>lGrPUe%TMTNg>u~Y!^eDL_IaZA@K|8)iPJ&V^WK4s@2I+Yu!%)oxZEWqSm)mlQU zY7?qeyIfCI^bu;7VVU)Tp*H|f9dcti2O!a;vt1Nw@h?^WtQjb_#DU$i&Jry;+eINL zd-d!(5JF1^p?0NinJL#)r{YYs>gT&C?0bj!BUa#5I|M0a?oAdbcBxW!k)CX+PpH>- zpN0P&vc#w^xm`C?Tq_NFr^==R@?rf%un3I;FYqf(%WS!(y8oqfuk7E|$sM{%fd>_% z!mb=xHart~6i*_oAMc{VtTdCq%WG7 z1Oin3Gyb{mGGd8;9=7FH`S+RZOFMf>#}0iZF4)FoITLAbPp0Fe$+5H~M=n^}6H+?W zeojQvcskV#HIqC(A*Ltgojg?>>>Wet2{9zeqevEo(3wd&)Z5n|N~Prx5=VvU(CArN zM4`iBiE86QW_S`MHB+B>c62f+H?w%eb{W>f=@vD8}QNkek{OdAs4ofIWmL&E?KuhVcE-?F#A_zIy~ zMZC1~aC}10Oc|7pi;{%iq9?}kWX(+1EN!pBacvJ0rA#^{iRdJC>c=)mH5(uluZBH% zzJtS2hr{-WyxhNnKQ4l8-hT1rBBSD@BMN`V-#DITpYXuqeOOhu>8-gM+j9A@9l?XY zfjt)AJlt~EEKV#;+&Hn}Zn|%6Dp;F}jM3)X3^sl~^V!V(VECtCxX>B<`Q&gRHc}Xw zC>%`{rlt$Q@J8^$e00+jT+A+HZ`R-Q9NKI+aLxR{TT|qKx2tN0vFx`wh#Ui#)!Y?AFX8QDv+xp*cZRu-Nq!YC zbymXqc)8P`oLX T@!MyZ?|4$G7yDS;aa{WwW<6z) delta 993 zcmZWoT}V?=96#rNINj!SyLTVzOtOT8$1}?lBa>(Gs__Uo>W43*tP^+*dQP? z3Xzl?pB#xq68O0ggbuu56dmX+kx>_gGZgwLoWp_`IMGXJ&NvuF@zKb|!BIJ9NTB#& zB$-4KO*&1t`GHH3F(qe+#*#`LO`tX^!bs9VBEH-1z-yvtjWGax0(&X2ZLy`KJQK$s z#Z&M*ZnN)-yA~i+F19SREW@`p?|ZX%%k0Hz$HU@Y2ugi>`Bp4DFHB!2cC)P14(GZ` zdK$r6c_FMq}Wu(NC88(rHC$qq>apg>jC6PNmEZVrpgbn zXqZqmf_JLie1g!`jLF>(dHRm8GqGyb%})_}8Siw=!f`wrI_gc4^(6Ttk^&)xyV)%Q zX4ieoJ5ykb3;aN8WT7rIFDVO)$k^6@7!)c5Zaf! Y^MJ-j$^H1^S9}@#R?zcN7Kg*RpBY)@2mk;8 diff --git a/app.py b/app.py index 2ca43a5..88e2ed7 100644 --- a/app.py +++ b/app.py @@ -128,8 +128,22 @@ async def run_browser_task(task_id: str, task: str, max_steps: int, model: str): stderr=subprocess.DEVNULL ) - # Даем браузеру время запуститься - await asyncio.sleep(3) + # Даем браузеру время запуститься и проверяем CDP + import time + import urllib.request + cdp_ready = False + for i in range(15): # Ждем до 15 секунд + await asyncio.sleep(1) + try: + response = urllib.request.urlopen(f"http://localhost:{REMOTE_DEBUGGING_PORT}/json/version", timeout=1) + if response.status == 200: + cdp_ready = True + break + except: + pass + + if not cdp_ready: + raise RuntimeError(f"Chrome started but CDP not ready after 15s") # Подключаемся через CDP cdp_url = f"http://localhost:{REMOTE_DEBUGGING_PORT}"