Skip to content
micro service to manage biomaj client requests and bank updates
Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
biomaj_daemon
.gitignore
.travis.yml
CHANGES.txt
MANIFEST.in
README.md
config.yml
gunicorn_conf.py
requirements.txt
setup.cfg
setup.py

README.md

About

PyPI version

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

You can’t perform that action at this time.