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/process
A prometheus /metrics endpoint is exposed on web server
- README doc fixes Add dependency banks additional volumes for Docker
- 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.
|Filename, Size & Hash SHA256 Hash Help||File Type||Python Version||Upload Date|
(16.6 kB) Copy SHA256 Hash SHA256
|Wheel||py2.py3||Dec 18, 2017|