fix(db,frontend): reserve DB connections for API and reduce frontend polling
Background tasks (ingestion, PDF resolution, scheduler) now acquire an asyncio.Semaphore before checking out a DB connection, guaranteeing at least N connections remain available for API request handlers. Removes duplicate polling loop from PublicationsPage, debounces publication reload on run-status changes, and increases poll interval from 5s to 15s since SSE handles live discovery. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
a490e14126
commit
f50b609a36
11 changed files with 97 additions and 69 deletions
|
|
@ -275,6 +275,8 @@ class Settings:
|
|||
crossref_max_lookups_per_request: int = _env_int("CROSSREF_MAX_LOOKUPS_PER_REQUEST", 8)
|
||||
|
||||
openalex_api_key: str | None = os.getenv("OPENALEX_API_KEY")
|
||||
database_reserved_api_connections: int = _env_int("DATABASE_RESERVED_API_CONNECTIONS", 3)
|
||||
|
||||
crossref_api_token: str | None = os.getenv("CROSSREF_API_TOKEN")
|
||||
crossref_api_mailto: str | None = os.getenv("CROSSREF_API_MAILTO")
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue