config: add HTTP pool, Redis, and updated DB pool settings
This commit is contained in:
@@ -22,8 +22,8 @@ class Settings(BaseSettings):
|
|||||||
database_sslmode: str = "disable"
|
database_sslmode: str = "disable"
|
||||||
|
|
||||||
# Database connection pool settings
|
# Database connection pool settings
|
||||||
database_pool_size: int = 5 # Number of connections to keep open
|
database_pool_size: int = 20 # Number of connections to keep open
|
||||||
database_max_overflow: int = 10 # Max additional connections beyond pool_size
|
database_max_overflow: int = 30 # Max additional connections beyond pool_size
|
||||||
database_pool_timeout: int = 30 # Seconds to wait for a connection from pool
|
database_pool_timeout: int = 30 # Seconds to wait for a connection from pool
|
||||||
database_pool_recycle: int = (
|
database_pool_recycle: int = (
|
||||||
1800 # Recycle connections after this many seconds (30 min)
|
1800 # Recycle connections after this many seconds (30 min)
|
||||||
@@ -53,6 +53,25 @@ class Settings(BaseSettings):
|
|||||||
)
|
)
|
||||||
pypi_download_mode: str = "redirect" # "redirect" (to S3) or "proxy" (stream through Orchard)
|
pypi_download_mode: str = "redirect" # "redirect" (to S3) or "proxy" (stream through Orchard)
|
||||||
|
|
||||||
|
# HTTP Client pool settings
|
||||||
|
http_max_connections: int = 100 # Max connections per pool
|
||||||
|
http_max_keepalive: int = 20 # Keep-alive connections
|
||||||
|
http_connect_timeout: float = 30.0 # Connection timeout seconds
|
||||||
|
http_read_timeout: float = 60.0 # Read timeout seconds
|
||||||
|
http_worker_threads: int = 32 # Thread pool for blocking ops
|
||||||
|
|
||||||
|
# Redis cache settings
|
||||||
|
redis_host: str = "localhost"
|
||||||
|
redis_port: int = 6379
|
||||||
|
redis_db: int = 0
|
||||||
|
redis_password: Optional[str] = None
|
||||||
|
redis_enabled: bool = True # Set False to disable caching
|
||||||
|
|
||||||
|
# Cache TTL settings (seconds, 0 = no expiry)
|
||||||
|
cache_ttl_index: int = 300 # Package index pages: 5 min
|
||||||
|
cache_ttl_versions: int = 300 # Version listings: 5 min
|
||||||
|
cache_ttl_upstream: int = 3600 # Upstream source config: 1 hour
|
||||||
|
|
||||||
# Logging settings
|
# Logging settings
|
||||||
log_level: str = "INFO" # DEBUG, INFO, WARNING, ERROR, CRITICAL
|
log_level: str = "INFO" # DEBUG, INFO, WARNING, ERROR, CRITICAL
|
||||||
log_format: str = "auto" # "json", "standard", or "auto" (json in production)
|
log_format: str = "auto" # "json", "standard", or "auto" (json in production)
|
||||||
|
|||||||
Reference in New Issue
Block a user