This commit is contained in:
unknown 2025-09-27 01:45:17 +03:00
parent c261b07ff1
commit f46f3904e5
4 changed files with 46 additions and 39 deletions

View File

@ -3,7 +3,8 @@ from uuid import UUID
from fastapi import HTTPException, status from fastapi import HTTPException, status
from typing import List, Dict from typing import List, Dict
from config import settings from config import settings
from common_lib.utils.ssl_transport import ssl_transport # from common_lib.utils.ssl_transport import ssl_transport
from common_lib.utils.http_client import client
# async def get_profile_by_user_id(user_id: UUID, token: str) -> dict: # async def get_profile_by_user_id(user_id: UUID, token: str) -> dict:
@ -28,7 +29,7 @@ from common_lib.utils.ssl_transport import ssl_transport
async def get_profile_by_user_id(user_id: UUID, current_user: UUID, token: str) -> dict: async def get_profile_by_user_id(user_id: UUID, current_user: UUID, token: str) -> dict:
try: try:
async with httpx.AsyncClient(transport=ssl_transport, timeout=5.0) as client: # async with httpx.AsyncClient(transport=ssl_transport, timeout=5.0) as client:
response = await client.post( response = await client.post(
f"{settings.PROFILE_SERVICE}/user_id/internal", f"{settings.PROFILE_SERVICE}/user_id/internal",
headers={"Authorization": f"Bearer {token}"}, headers={"Authorization": f"Bearer {token}"},
@ -50,7 +51,7 @@ async def get_profile_by_user_id(user_id: UUID, current_user: UUID, token: str)
async def get_profiles_by_user_ids(user_ids: List[UUID], token: str, user_id: UUID) -> Dict[str, dict]: async def get_profiles_by_user_ids(user_ids: List[UUID], token: str, user_id: UUID) -> Dict[str, dict]:
try: try:
async with httpx.AsyncClient(transport=ssl_transport, timeout=5.0) as client: # async with httpx.AsyncClient(transport=ssl_transport, timeout=5.0) as client:
response = await client.post( response = await client.post(
f"{settings.PROFILE_SERVICE}/user_ids/internal", f"{settings.PROFILE_SERVICE}/user_ids/internal",
headers={"Authorization": f"Bearer {token}"}, headers={"Authorization": f"Bearer {token}"},

View File

@ -5,18 +5,9 @@ from typing import List
from dataclasses import dataclass from dataclasses import dataclass
from config import settings from config import settings
from .ssl_transport import ssl_transport # from .ssl_transport import ssl_transport
from .validators import validate_username as core_validate_username, validate_password as core_validate_password from .validators import validate_username as core_validate_username, validate_password as core_validate_password
from common_lib.utils.http_client import client
limits = httpx.Limits(max_keepalive_connections=200, max_connections=1000)
timeout = httpx.Timeout(connect=5.0, read=10.0, write=5.0, pool=5.0)
client = httpx.AsyncClient(
transport=ssl_transport,
limits=limits,
timeout=timeout
)
auth_scheme = HTTPBearer() auth_scheme = HTTPBearer()

View File

@ -0,0 +1,15 @@
import httpx
from .ssl_transport import ssl_transport
# Ограничения пула соединений
limits = httpx.Limits(max_connections=1000, max_keepalive_connections=200)
# Таймауты
timeout = httpx.Timeout(connect=5.0, read=10.0, write=5.0, pool=5.0)
# Глобальный клиент
client = httpx.AsyncClient(
transport=ssl_transport,
limits=limits,
timeout=timeout,
)

View File

@ -1,6 +1,6 @@
[project] [project]
name = "common-lib" name = "common-lib"
version = "0.0.22" version = "0.0.23"
description = "Библиотека общих компонентов для микросервисов yobble" description = "Библиотека общих компонентов для микросервисов yobble"
authors = [{ name = "cheykrym", email = "you@example.com" }] authors = [{ name = "cheykrym", email = "you@example.com" }]
license = "MIT" license = "MIT"