Add auto-reset for browser crash (0-byte response) in Synology Docker
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
title: "애니 다운로더"
|
title: "애니 다운로더"
|
||||||
version: 0.7.8
|
version: 0.7.9
|
||||||
package_name: "anime_downloader"
|
package_name: "anime_downloader"
|
||||||
developer: "projectdx"
|
developer: "projectdx"
|
||||||
description: "anime downloader"
|
description: "anime downloader"
|
||||||
|
|||||||
@@ -394,9 +394,15 @@ async def fetch_with_browser(url: str, timeout: int = 30, headers: Optional[Dict
|
|||||||
})
|
})
|
||||||
log_debug(f"[ZendriverDaemon] Success in {total_elapsed:.2f}s (Nav: {nav_elapsed:.2f}s, Poll: {poll_elapsed:.2f}s, Length: {len(html_content)})")
|
log_debug(f"[ZendriverDaemon] Success in {total_elapsed:.2f}s (Nav: {nav_elapsed:.2f}s, Poll: {poll_elapsed:.2f}s, Length: {len(html_content)})")
|
||||||
else:
|
else:
|
||||||
result["error"] = f"Short response: {len(html_content) if html_content else 0} bytes"
|
length = len(html_content) if html_content else 0
|
||||||
|
result["error"] = f"Short response: {length} bytes"
|
||||||
result["elapsed"] = round(total_elapsed, 2)
|
result["elapsed"] = round(total_elapsed, 2)
|
||||||
log_debug(f"[ZendriverDaemon] Fetch failure: Short response ({len(html_content) if html_content else 0} bytes)")
|
log_debug(f"[ZendriverDaemon] Fetch failure: Short response ({length} bytes)")
|
||||||
|
|
||||||
|
# 0바이트거나 너무 짧으면 브라우저/렌더러가 죽었을 가능성이 큼 -> 다음 번엔 강제 재시작
|
||||||
|
if length < 100:
|
||||||
|
log_debug("[ZendriverDaemon] Response extremely short, forcing browser reset for next request")
|
||||||
|
browser = None
|
||||||
|
|
||||||
# 탭 정리: 닫지 말고 about:blank로 리셋 (최소 1개 탭 유지 필요)
|
# 탭 정리: 닫지 말고 about:blank로 리셋 (최소 1개 탭 유지 필요)
|
||||||
if page:
|
if page:
|
||||||
|
|||||||
Reference in New Issue
Block a user