BioMAJ process service
Microservice to manage the process execution of biomaj.
A protobuf interface is available in biomaj_process/message/message_pb2.py to exchange messages between BioMAJ and the download service. Messages go through RabbitMQ (to be installed).
To compile protobuf, in biomaj_process/message:
protoc –python_out=. message.proto
## Message consumer: export BIOMAJ_CONFIG=path_to_config.yml python bin/biomaj_process_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_download.biomaj_process_web:app
Web processes should be behind a proxy/load balancer, API base url /api/download
- Allow local_endpoint definition per service Fix volumes for docker with dependency banks
- Fix #1, DRMAA needs colon in front of output and error path (mandatory depending on versions)
- fix case if process desc or type is missing in bank properties
- disable web thread logging
- retry in case of contact failure with proxy
- for docker, restrict directory to bank directory and dependencies add host in prometheus stats
- fix prometheus + gunicorn multi process add consul supervision
- add logging info execute docker processes in biomaj micro service
- bug fixes
- move process management out of biomaj main package
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|File Name & Checksum SHA256 Checksum Help||Version||File Type||Upload Date|
|biomaj_process-3.0.9-py2.py3-none-any.whl (16.5 kB) Copy SHA256 Checksum SHA256||py2.py3||Wheel||Dec 1, 2017|