mirror of
https://github.com/Cian-H/invenio-config-iform.git
synced 2025-12-22 21:11:57 +00:00
configs(db): adds SQLALCHEMY configs
* configs(db): adds SQLALCHEMY configs configs: adds fixture user
This commit is contained in:
@@ -215,6 +215,19 @@ RECAPTCHA_PRIVATE_KEY = None
|
||||
# See:
|
||||
# https://invenio-rdm-records.readthedocs.io/en/latest/configuration.html
|
||||
#
|
||||
RDM_RECORDS_USER_FIXTURE_PASSWORDS = {
|
||||
"info@tugraz.at": None
|
||||
}
|
||||
"""Overrides for the user fixtures' passwords.
|
||||
The password set for a user fixture in this dictionary overrides the
|
||||
password set in the ``users.yaml`` file. This can be used to set custom
|
||||
passwords for the fixture users (of course, this has to be configured
|
||||
before the fixtures are installed, e.g. by setting up the services).
|
||||
If ``None`` or an empty string is configured in this dictionary, then the
|
||||
password from ``users.yaml`` will be used. If that is also absent, a password
|
||||
will be generated randomly.
|
||||
"""
|
||||
|
||||
# Custom Access Right
|
||||
# RDM_RECORDS_CUSTOM_VOCABULARIES = {
|
||||
# 'access_right': {
|
||||
@@ -230,8 +243,71 @@ RECAPTCHA_PRIVATE_KEY = None
|
||||
# See https://github.com/inveniosoftware/invenio-app-rdm/blob/master/invenio_app_rdm/config.py
|
||||
APP_RDM_DEPOSIT_FORM_DEFAULTS = {}
|
||||
"""Default values for new records in the deposit UI.
|
||||
|
||||
The keys denote the dot-separated path, where in the record's metadata
|
||||
the values should be set (see invenio-records.dictutils).
|
||||
If the value is callable, its return value will be used for the field
|
||||
(e.g. lambda/function for dynamic calculation of values).
|
||||
"""
|
||||
|
||||
SQLALCHEMY_ECHO = False
|
||||
"""Enable to see all SQL queries."""
|
||||
|
||||
SQLALCHEMY_ENGINE_OPTIONS = {
|
||||
"pool_pre_ping": False,
|
||||
"pool_recycle": 3600,
|
||||
# set a more agressive timeout to ensure http requests don't wait for long
|
||||
"pool_timeout": 10,
|
||||
}
|
||||
"""SQLAlchemy engine options.
|
||||
|
||||
This is used to configure for instance the database connection pool.
|
||||
Specifically for connection pooling the following options below are relevant.
|
||||
Note, that the connection pool settings have to be aligned with:
|
||||
|
||||
1. your database server's max allowed connections settings, and
|
||||
2. your application deployment (number of processes/threads)
|
||||
|
||||
**Disconnect handling**
|
||||
|
||||
Note, it's possible that a connection you get from the connection pool is no
|
||||
longer open. This happens if e.g. the database server was restarted or the
|
||||
server has a timeout that closes the connection. In these case you'll see an
|
||||
error similar to::
|
||||
|
||||
psycopg2.OperationalError: server closed the connection unexpectedly
|
||||
This probably means the server terminated abnormally
|
||||
before or while processing the request.
|
||||
|
||||
The errors can be avoided by using the ``pool_pre_ping`` option, which will
|
||||
ensure the connection is open first by issuing a ``SELECT 1``. The pre-ping
|
||||
feature however, comes with a performance penalty, and thus it may be better
|
||||
to first try adjusting the ``pool_recyle`` to ensure connections are closed and
|
||||
reopened regularly.
|
||||
|
||||
... code-block:: python
|
||||
|
||||
SQLALCHEMY_ENGINE_OPTIONS = dict(
|
||||
# enable the connection pool “pre-ping” feature that tests connections
|
||||
# for liveness upon each checkout.
|
||||
pool_pre_ping=True,
|
||||
|
||||
# the number of connections to allow in connection pool “overflow”,
|
||||
# that is connections that can be opened above and beyond the
|
||||
# pool_size setting
|
||||
max_overflow=10,
|
||||
|
||||
# the number of connections to keep open inside the connection
|
||||
pool_size=5,
|
||||
|
||||
# recycle connections after the given number of seconds has passed.
|
||||
pool_recycle=3600,
|
||||
|
||||
# number of seconds to wait before giving up on getting a connection
|
||||
# from the pool
|
||||
pool_timeout=30,
|
||||
|
||||
)
|
||||
|
||||
See https://docs.sqlalchemy.org/en/latest/core/engines.html.
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user