diff --git a/src/main.py b/src/main.py index 2c19dc2..aea2e85 100644 --- a/src/main.py +++ b/src/main.py @@ -76,23 +76,19 @@ async def solve( api_key = request.headers.get('X-API-Key') logger.info("Incoming payload: [%s]\n%s", session_id, payload.model_dump_json(indent=2, ensure_ascii=True)) + global BROWSER_SLOTS - if BROWSER_SLOTS <= 0: - return { - "ok": False, - "error": "No slots available", - } - BROWSER_SLOTS -= 1 - try: + assert BROWSER_SLOTS > 0 and (BROWSER_SLOTS := BROWSER_SLOTS.__sub__(1)) >= 0, "No slots available" + + proxy = parse_proxy(payload.proxy) + if not session_id: session_id = str(uuid.uuid4()) response.set_cookie("session_id", session_id) logger.info("Setup new session with session_id: %s", session_id) - proxy = parse_proxy(payload.proxy) - # профиль (cookies/local storage/fingerprint.json) хранится на диске по # session_id — если он уже приходил в куках, ниже подгружаем существующий # fingerprint из этой папки; если нет (новый session_id) — генерируем новый