BioMAJ daemon service
Project description
About
Microservice to manage biomaj, acts as a frontend to receive biomaj-cli commands and execute operations
Needs mongo and redis
Development
flake8 --ignore E501 biomaj_daemon
Run
Message consumer:
export BIOMAJ_CONFIG=path_to_config.yml
python bin/biomaj_daemon_consumer.py
Web server
If package is installed via pip, you need a file named gunicorn_conf.py containing somehwhere on local server:
def worker_exit(server, worker):
from prometheus_client import multiprocess
multiprocess.mark_process_dead(worker.pid)
If you cloned the repository and installed it via python setup.py install, just refer to the gunicorn_conf.py in the cloned repository.
export BIOMAJ_CONFIG=path_to_config.yml
rm -rf ..path_to/prometheus-multiproc
mkdir -p ..path_to/prometheus-multiproc
export prometheus_multiproc_dir=..path_to/prometheus-multiproc
gunicorn -c ../path_to/gunicorn_conf.py biomaj_daemon.daemon.biomaj_daemon_web:app
Web processes should be behind a proxy/load balancer, API base url /api/daemon
API
For authentication, add api key to HTTP header X-API-KEY
For admin only, operations, add to config.yml
general:
admin:
- admin_user_id
TO use API, some operations are limited to
3.0.24: Fix pyaml setup
3.0.23: Expose endpoint, return 404 if bank does not exists
3.0.22: Add /api/daemon/expose endpoint for traefik auth requests to allow/deny access to /db web access
3.0.21: Add support for repair option Add cors support Fix /status/ko
3.0.20: Add some checks on options Add data-list and data-import options
3.0.19: Fix traefix prefix
3.0.18: Fix some bank status info checks Add new endpoint /api/daemon/bank//owns Add queued bank names in whatsup Update pika dependency release Add tags for traefik support
3.0.17: Allow use of env variables to override micro.x and rabbitmq variables in global.properties like for config.yml. Ex: WEB_LOCAL_ENDPOINT_DOWNLOAD defines proxy address for download web service, WEB_LOCAL_ENDPOINT defines global proxy address for all web services, etc. If not defined, will use values from global.properties
3.0.16: After migration checks, update db_schema to current version
3.0.15: Add --history option Catch SIGTERM to cancel bank update for SIGKILL
3.0.14: Fake version for Pypi re-upload
3.0.13: Allow per service local_endpoint definition Add --stats option Modify --version option to get all module details Add REST API to daemon (/api/daemon/...)
3.0.12: Add biomaj_daemon_consumer.py to python scripts for install with package
3.0.11: Disable daemon web service logging
3.0.10: Fix tail endpoint syntax
3.0.9: Fix #1 remove debug log Fix #2 log dir not removed with --remove-all if proxy option not set
3.0.8: Fix #78, for multiple banks update in monolithic config, if one fails, next banks are not updated Add /api/daemon/bank/x/log[/y] endpoint to get last bank session log file
3.0.7: Add whatsup support for non proxy config Skip bank config with errors
3.0.6: Fix logging for monolithic setup Add whatsup option Fix prometheus stats
3.0.5: Fix for python 2.x
3.0.4: Fix status page with other services Add missing README in package
3.0.3: Fix missing parameters
3.0.2: Move options to management to utils for reuse Fix --about-me
3.0.1: Micro service to manage biomaj updates
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for biomaj_daemon-3.0.24-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e1b5d0290056a0a98612ce25d7d725acb2fe9c84f743ee9250bdb305453e013 |
|
MD5 | aa6773fccd3f566058079248912b14ac |
|
BLAKE2b-256 | 4bf68f8e38f9b213be634c272826e2c6a1162f235e26d585d015214c48b3d242 |