chore: улучшена логика работы с учетом слотов

This commit is contained in:
protokey committed 2026-10-12 13:17:34 +04:00
1 parent 08a7501d31
commit c54500b178
1 file changed
+5 -9
+5 -9
View File
@@ -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) — генерируем новый