force a fixed pool size and make it configurable

This commit is contained in:
Sarah Hoffmann 2023-07-08 19:38:54 +02:00
parent 75139961a3
commit f4cdcb995c
2 changed files with 7 additions and 0 deletions

View File

@ -54,6 +54,7 @@ class NominatimAPIAsync:
return
dsn = self.config.get_database_params()
pool_size = self.config.get_int('API_POOL_SIZE')
query = {k: v for k, v in dsn.items()
if k not in ('user', 'password', 'dbname', 'host', 'port')}
@ -65,6 +66,7 @@ class NominatimAPIAsync:
host=dsn.get('host'), port=int(dsn['port']) if 'port' in dsn else None,
query=query)
engine = sa_asyncio.create_async_engine(dburl, future=True,
max_overflow=0, pool_size=pool_size,
echo=self.config.get_bool('DEBUG_SQL'))
try:

View File

@ -209,6 +209,11 @@ NOMINATIM_POLYGON_OUTPUT_MAX_TYPES=1
# under <endpoint>.php
NOMINATIM_SERVE_LEGACY_URLS=yes
# Maximum number of connection a single API object can use. (Python API only)
# When running Nominatim as a server, then this is the maximum number
# of connections _per worker_.
NOMINATIM_API_POOL_SIZE=10
### Log settings
#
# The following options allow to enable logging of API requests.