chore: улучшена логика работы с учетом слотов
This commit is contained in:
1 parent
08a7501d31
commit
c54500b178
1 file changed
+5
-9
+5
-9
@@ -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) — генерируем новый
|
||||
|
||||
Reference in new issue
Block a user