diff --git a/VERSION b/VERSION index fd4ca57..771411b 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.4.19 +1.4.20 diff --git a/ingest-api-spec.yaml b/ingest-api-spec.yaml index b8f5031..618bcc9 100644 --- a/ingest-api-spec.yaml +++ b/ingest-api-spec.yaml @@ -2,7 +2,7 @@ openapi: 3.0.0 info: description: | A RESTful web service exposing calls needed for the SenNet Data Sharing Portal. - version: 1.4.19 + version: 1.4.20 title: SenNet Ingest API contact: name: SenNet Help Desk @@ -625,6 +625,19 @@ paths: "500": description: An unexpected error occurred + /metadata/provenance-metadata/{identifier}: + get: + tags: + - metadata + summary: Returns the full provenance metadata for the provided dataset and all of its ancestors. + responses: + "200": + description: The JSON containing full provenance metadata + "401": + description: User's token is not valid + "500": + description: An unexpected error occurred + /sources/bulk/validate: post: tags: diff --git a/src/app.py b/src/app.py index 599c0d1..e53163d 100644 --- a/src/app.py +++ b/src/app.py @@ -44,7 +44,7 @@ # Log rotation is handled via logrotate on the host system with a configuration file # Do NOT handle log file and rotation via the Python logging to avoid issues with multi-worker processes logging.basicConfig(format='[%(asctime)s] %(levelname)s in %(module)s: %(message)s', - level=logging.DEBUG, + level=logging.INFO, datefmt='%Y-%m-%d %H:%M:%S') logger = logging.getLogger(__name__) diff --git a/src/uwsgi.ini b/src/uwsgi.ini index 99ceb7a..86bc063 100644 --- a/src/uwsgi.ini +++ b/src/uwsgi.ini @@ -2,7 +2,7 @@ # So uwsgi knows where to mount the app chdir = /usr/src/app/src -# Application's callbale +# Application's callable module = wsgi:application # Location of uwsgi log file @@ -12,12 +12,14 @@ logto = /usr/src/app/log/uwsgi-ingest-api.log # By default uWSGI allocates a very small buffer (4096 bytes) for the headers of each request buffer-size = 32768 -# Master with 2 worker process (based on CPU number) +# Master with 16 worker processes (based on CPU number) master = true -processes = 2 +processes = 16 -# Enable multithreading for ingest-api -enable-threads = true +# Enable the multithreading within uWSGI +# Launch the application across multiple threads inside each process +enable-threads = True +threads = 16 # Use http socket for integration with nginx # 127.0.0.1:5000 or localhost:5000 won't work with Docker @@ -29,3 +31,5 @@ vacuum = true # Ensure compatibility with init system die-on-term = true + +attach-daemon = python worker.py