BioMAJ守护进程服务
项目描述
关于
Microservice to manage biomaj, acts as a frontend to receive biomaj-cli commands and execute operations
需要mongo和redis
开发
flake8 --ignore E501 biomaj_daemon
运行
消息消费者
export BIOMAJ_CONFIG=path_to_config.yml
python bin/biomaj_daemon_consumer.py
Web服务器
如果通过pip安装,您需要在本地服务器上某个位置有一个名为gunicorn_conf.py的文件
def worker_exit(server, worker):
from prometheus_client import multiprocess
multiprocess.mark_process_dead(worker.pid)
如果您克隆了仓库并通过python setup.py install安装,请参阅克隆仓库中的gunicorn_conf.py
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进程应在代理/负载均衡器后面,API基本URL为/api/daemon
API
对于认证,将API密钥添加到HTTP头X-API-KEY中
仅限管理员,操作,添加到config.yml
general:
admin:
- admin_user_id
要使用API,某些操作受到限制
3.0.24: 修复pyaml设置
3.0.23: 暴露端点,如果银行不存在则返回404
3.0.22: 为traefik认证请求添加/api/daemon/expose端点,允许/拒绝对/db Web访问的访问
3.0.21: 添加支持修复选项,添加CORS支持,修复/status/ko
3.0.20: 在选项上添加一些检查,添加data-list和数据导入选项
3.0.19: 修复traefix前缀
3.0.18: 修复一些银行状态信息检查,添加新的端点/api/daemon/bank//owns,在whatsup中更新排队银行名称,更新pika依赖项发布,为traefik支持添加标签
3.0.17: 允许使用环境变量覆盖global.properties中的micro.x和rabbitmq变量,如config.yml中所示。例如:WEB_LOCAL_ENDPOINT_DOWNLOAD定义下载Web服务的代理地址,WEB_LOCAL_ENDPOINT定义所有Web服务的全局代理地址等。如果未定义,将使用global.properties中的值
3.0.16: 迁移检查后,更新db_schema到当前版本
3.0.15: 添加--history选项,捕获SIGTERM以取消SIGKILL的银行更新
3.0.14: 伪造版本以重新上传到Pypi
3.0.13: 允许每个服务定义本地_endpoint,添加--stats选项,修改--version选项以获取所有模块详细信息,将REST API添加到daemon (/api/daemon/...)
3.0.12: 将biomaj_daemon_consumer.py添加到python脚本中,以便与包一起安装
3.0.11: 禁用daemon Web服务日志记录
3.0.10: 修复tail端点语法
3.0.9: 修复#1移除调试日志,修复#2如果未设置代理选项,则不删除日志目录
3.0.8: 修复#78,对于在单体配置中更新多个银行,如果其中一个失败,则下一个银行不会更新,添加/api/daemon/bank/x/log[/y]端点以获取最后一个银行会话日志文件
3.0.7: 添加对非代理配置的支持whatup支持,跳过包含错误的银行配置
3.0.6: 修复单体设置中的日志记录,添加whatup选项,修复prometheus统计
3.0.5: 修复python 2.x的兼容性问题
3.0.4: 修复与其他服务一起的状态页面,在包中添加缺少的README
3.0.3: 修复缺少的参数
3.0.2: 将选项移动到管理以供重用,修复--about-me
3.0.1: 微服务用于管理biomaj更新