From faf0f0d40e66b83ba32ce90eeb02541035db5861 Mon Sep 17 00:00:00 2001 From: nafer Date: Fri, 6 Mar 2026 00:22:20 +0300 Subject: [PATCH] qwen1 --- __pycache__/app.cpython-312.pyc | Bin 16080 -> 16156 bytes app.py | 31 +++++++++++++++++-------------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/__pycache__/app.cpython-312.pyc b/__pycache__/app.cpython-312.pyc index 7abd6027a4aabb75cb40bbfe5a886979927229e3..7f6d7e180314bc95d6ae9668aee403b8670e4dfa 100644 GIT binary patch delta 1899 zcmZWpYfKzf6ux(6-;den?0eZAXqPt>d9(!@(-l%6w)TOE7#pnIO=ZiY&JJm*Gi=4A zsg@eZjcFUKHZe_FAu$bq`p2X(Gy?hq#Dwj(Kbq)|HpVy>O-z4z@4^VxN%s5BJ@5l%y<@*=vD(P$L-Jd1*5hw1pY9(+W&{Teim|{(#Z+LE zVn!Clf}moR7@B}SY4-+i$25-xnONI=#$a6AHlVv|j22aP#m(_$36 zY|p?6zidb5Adx9n2!@~z$kq%e`L*oGCR?V#bw*Q-Lu6MtiPiSg0sMi@n?&5KV`j5O zNKzoD6w*Sd9J!EN<_eYvc@d9%$d3Xjh(afAibFQ0qqI3awTh^9kg%rT;@R-bW?{vN zB8p2Av^^Bn8YBmPgB->!m1ukE9r%dd1B-Ak7l=S$2C_Mw&^EU?T~5PFV%r->@#`!S zW{b6>DIVFAuAp(@l2c^>h&se6E;2V};!QF+S0*Vt)3s#ZTTDcoFXJsT7sada+lIPR z_NMFbiphf~IiqPBpoGkCIkIFJZ-4YEr&Tlw#x19Bj}m%b8~nXMut4C;e&Fx|4*yeS(( z)sm(LGN3mJv8@E<(Et231;0*Y%wQCb!rfpJPFPBSRHY@@K_&`85A`>k0cY7BaE3%p zwEZWhQVFBljqG^U;*g*wN*VlvtI2Aq zu6{Rl0u7`x8GP9-ko)nqyCU+GUgC0?H%k43so@dn=>l0l)e|_^fPZzD2I_ZZYAnaP z+g^LUyE%T&OwIPAN1NlA_e{eWzT?^B;6}uOf&O=D#MFBusf>i5cbLh44LZ6+DE0^9IWE=00?~S0v{e&BOk@Nlax<4-aKhVjC5;Q+SoaQC!DI zU<4oHi|{F)ch!*Z>IwM!Jb28x&mT~kc09!&V;|ZC{0sk8HkNZ1<(%a?XC&v0szG~* zyV#}1fnQkjC02ZioHLa33swt~>COcFU2*hd0TO~jGt8+Wbu9_bNq9h_vqdG{9KSID8eJqr%2@NYk!`&mx zLc^-?@)S2|xN3OhD^?lkkI{0J0g}GmmjF82G0d`t-3&tvH*E2-7&{V)Zka}9oohJRFjwSY@5mMVkQ!LueU65V$ z37xI%;%Em_&F0K4RX6rD_$*SO?1P&+`HoC^hS zLjC)s<@au|f1WEY zk|X+$h14 delta 1918 zcmZuxTWk|Y6rJ%iey^WvJ9dmQaY%>>kcLF0DN2A6BSfK9X;Uc$$Fm7`96Q}zH;?WT z1fq@FR0WNyQbAOHsM^LqRemZ}e1NEkiz+##5+?A$XZr(&v{D~GorzhTK34L*XU?5- z_Rd}JUOHKlEw?NdBOuqNCts%OzP4O3n(SnChWu8)*Wjzhk4Fw81A-ZytY6D|xegg+ z!pKHZMTPWAGu6C4rk(3oRV*16U={Id$silEVPx711_J=dCVb7r&X|%`}Y?4_M5+&b%_-$*v zhF2ND6r6&cVD85VfM5X3{W_^0027qi6#-(GVz>$LTVy}lj(;$+rf!9m{P-iA&%J}X z4FK})_)q%hc2_gLYU_dRi+|agR6cJkhEhUeD8t3ZbL08(*ia^y98G0MaM;l~6RcH* z+^{&2;JFx|5JZkoO>_M8IWxo zsa$qXE-Ui6Ool_###rnGmp~a#5T-pfsd<7MiV0jY&!@yGoOFbt4WD(iIGW*#UQCT~ zxxDzx5;@>>3%=!OQg81Nu+e!DHsH^lUHGAMM}vOvzN3d;J$P_ML$|M3^L!?g8rsTp zZ{;~b#Eq^f9(8SWtQhu9Cb@Ci6yHqzn(Og-qszy?OfcU^!x0*e((oDyxaew)9wcDJ zm^{Jf#<*k2F|?u|=W|JN0{%@}(N*t-t!`iR02LmltTr*iWyKZ!iIgDb_$huHB_Su! zml|K|^59aJ77K2d{WtQp_!<0u3OuknPVKL#`tSw!EBK-NtC^NE6Dl(eWv02zw3QjM z++Ah@WoC1k305KwzjgLNr3J9zJD%vWCt7CwWrEq}Ww!YlsOSOPvo2n*+{Uu3ftWpZ0ax(8XJe`HrQ4n( zCFV#)hcB^L?1K>4oBpVnq1|`a<^8kr93J!z&dif(oL0vp@ZCORzZ+b)_eDv%(FyyF zx*J^@ihFkUn^oVn_coHnO)uk30~5wh;FHFEgB(Z%&LAyyJXc->^8&=>ZOKo zT%%svt&KZDQKKbH(V(W-tco-0qBX1~7DcBzzCm4NA&p*DJfJW7brf$PjV%uQu0ZW1 zY4iFbQ-2rg-X@Trz>fj}?K=dP7Mb7x)RK=oc(9mlkOJCw37o}`cAbW2FyGyw{eY}L z#D(qvd~dPX9fe!h9H=8t4R|W$&(iQd4OGrk4IiZ;iGw{scoBE^Jc#a7LHFf76+rVB VLN$N$G%vNUuJM&axc7y7e*-lw#MuA< diff --git a/app.py b/app.py index a31d7c9..f58828a 100644 --- a/app.py +++ b/app.py @@ -79,6 +79,7 @@ async def run_browser_task(task_id: str, task: str, max_steps: int, model: str): if REMOTE_DEBUGGING_ENABLED: import subprocess import glob + import urllib.request # Точный путь из контейнера CHROME_PATH = "/root/.cache/ms-playwright/chromium-1208/chrome-linux64/chrome" @@ -114,41 +115,43 @@ async def run_browser_task(task_id: str, task: str, max_steps: int, model: str): "--no-first-run", "--no-default-browser-check", "--disable-extensions", - "--disable-popup-blocking", "--disable-gpu", "--no-sandbox", "--disable-dev-shm-usage", - "--disable-software-rasterizer", - "--disable-setuid-sandbox", - "--disable-blink-features=AutomationControlled", "--headless", - "--disable-web-security", "about:blank" ] # Запускаем процесс process = subprocess.Popen( chrome_cmd, - stdout=subprocess.DEVNULL, - stderr=subprocess.DEVNULL + stdout=subprocess.PIPE, + stderr=subprocess.PIPE ) - # Даем браузеру время запуститься и проверяем CDP - import time - import urllib.request + # Ждем пока Chrome запустится и CDP будет готов cdp_ready = False - for i in range(15): # Ждем до 15 секунд + for i in range(30): # Ждем до 30 секунд await asyncio.sleep(1) try: - response = urllib.request.urlopen(f"http://localhost:{REMOTE_DEBUGGING_PORT}/json/version", timeout=1) + response = urllib.request.urlopen( + f"http://localhost:{REMOTE_DEBUGGING_PORT}/json/version", + timeout=2 + ) if response.status == 200: cdp_ready = True break - except: + except Exception: pass if not cdp_ready: - raise RuntimeError(f"Chrome started but CDP not ready after 15s") + # Получаем логи Chrome + stdout, stderr = process.communicate(timeout=5) + raise RuntimeError( + f"Chrome started but CDP not ready after 30s.\n" + f"STDOUT: {stdout.decode()}\n" + f"STDERR: {stderr.decode()}" + ) # Подключаемся через CDP cdp_url = f"http://localhost:{REMOTE_DEBUGGING_PORT}"