Under certain conditions BioMAJ locks a bank during processing (to avoid errors in downloaded files), if you get this error :
An error occured:
Bank is locked due to an other action
To delete the bank, simply start by deleting the.lock file corresponding to the bank:
rm lock/alu.lock
Then remove the bank (for example in microservice):
biomaj-cli.py --proxy http://biomaj-publix-proxy:5000 --api-key XYZ --remove --bank alu
pip install --upgrade pip
easy_install pip
pip uninstall requests
pip install requests
- Change FTP ports in the docker-compose file (biomaj-docker/docker-compose.yml)
biomaj-ftp:
image: osallou/biomaj-docker
volumes:
- ${BIOMAJ_DIR}/biomaj:/var/lib/biomaj/data
environment:
- BIOMAJ_USER_PASSWORD=${BIOMAJ_USER_PASSWORD}
- BIOMAJ_CONFIG=/etc/biomaj/config.yml
- REDIS_PREFIX=biomajftp
- RABBITMQ_USER=biomaj
- RABBITMQ_PASSWORD=biomaj
depends_on:
- biomaj-mongo
- biomaj-consul
- biomaj-user-web
- biomaj-elasticsearch
ports:
- "2121:21"
- "6000-6010:6000-6010"
command: bash -c "sleep 10 ; python3 /root/biomaj-ftp/bin/biomaj_ftp_service.py"
- Change FTP ports in the config file (biomaj-docker/biomaj-config/config.yml):
ftp: listen: '0.0.0.0'
port: 21
passive_ports_start: 6000
passive_ports_end: 6010
Increase timeout to initialize port:
export DOCKER_CLIENT_TIMEOUT=6000000000000000
export COMPOSE_HTTP_TIMEOUT=60000000000000000
Here.
BioMAJ Watcher (BW) has been designed to provide a quick overview of the banks managed by BioMAJ and a simple access to the most common administration tasks (display available banks and versions with main information(location, etc.). It is an optional web interface.
BioMAJ is blocked on the download part:
2018-03-06 04:24:18,984 DEBUG [root][MainThread] Rate limiting: 3
2018-03-06 04:24:18,984 DEBUG [root][MainThread] Workflow:wf_download:RemoteDownload:submitted: 3, current progress: -1, total: 22
2018-03-06 04:24:18,984 DEBUG [root][MainThread] Workflow:wf_download:RemoteDownload:RequestAvailable:-1
2018-03-06 04:24:29,020 DEBUG [root][MainThread] Rate limiting: 3
2018-03-06 04:24:29,020 DEBUG [root][MainThread] Workflow:wf_download:RemoteDownload:submitted: 3, current progress: -1, total: 22
2018-03-06 04:24:29,020 DEBUG [root][MainThread] Workflow:wf_download:RemoteDownload:RequestAvailable:-1
2018-03-06 04:24:39,052 DEBUG [root][MainThread] Rate limiting: 3
Try to reduce the files. num. threads option in the <bank>.properties file:
#######################
### Synchronization ###
#######################
files.num.threads=2
protocol=ftp
You will first have to run the CLI influxdb in the influxdb container and then create a biomaj database:
docker exec -it biomaj-docker_biomaj-influxdb_1 influx
#Connected to http://localhost:8086 version 1.3.0
#InfluxDB shell version: 1.3.0
create database biomaj
More information Here.
Increase the number of biomaj-download-web and biomaj-download message containers (1 web for 1 message). Indeed, the number of threads (files.num.thread) should not be too large because the number of connection is often limited by the remote server.
docker-compose scale biomaj-download-message=4
docker-compose scale biomaj-download-web=4
Here.
For the standalone version, you can use crontab.
For the docker version, you can use directly biomaj-cron.
biomaj-plugins gives some configuration and plugin example to custimize how BioMAJ gets release information or fetch remote files. Plugins are useful when usual protocols are of no use (list of files and fancy web pages, access to files requiring credentials , etc.).
Plugins provide a way, via a python script, to customize the way those actions are done while keeping workflow feature and other biomaj features