Skip to main content

BioMAJ download service

Project description

# About

Microservice to manage the downloads of biomaj.

A protobuf interface is available in biomaj_download/message/message_pb2.py to exchange messages between BioMAJ and the download service.
Messages go through RabbitMQ (to be installed).

# Protobuf

To compile protobuf, in biomaj_download/message:

protoc --python_out=. message.proto

# Development

flake8 biomaj_download/\*.py biomaj_download/download


# Run

## Message consumer:

export BIOMAJ_CONFIG=path_to_config.yml
python bin/biomaj_download_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 gunicorn_conf.py biomaj_download.biomaj_download_web:app

Web processes should be behind a proxy/load balancer, API base url /api/download

Prometheus endpoint metrics are exposed via /metrics on web server


3.0.25:
Allow to use hardlinks in LocalDownload
3.0.24:
Remove debug logs
3.0.23:
Support spaces in remote file names
3.0.22:
Fix **/* remote.files parsing
3.0.21:
Fix traefik labels
3.0.20:
Update pika dependency release
Add tags for traefik support
3.0.19:
Check archives after download
Fix python regexps syntax (deprecation)
3.0.18:
Rename protobuf and use specific package to avoid conflicts
3.0.17:
Regenerate protobuf message desc, failing on python3
3.0.16:
Add missing req in setup.py
3.0.15:
Fix progress download control where could have infinite loop
Add irods download

3.0.14:
Allow setup of local_endpoint per service, else use default local_endpoint

3.0.13:
In rate limiting, add progress vs total of download
Fix rate limiting submission

3.0.12:
Add retry in case of session creation failure
disable web thread logging

3.0.11:
Display progress of download by percent of downloads
In case of contact error in downloadclient, retry connection

3.0.10:
Feature #3: Add rate limiting option to limit number of parallel downloads for a client

3.0.9:
Add host in prometheus stats
Fix #2: allow setting http.group.file.size or http.group.file.date to -1 if not avalaible in http(s) page for regexp

3.0.8:
Fix prometheus stats
Add consul supervision

3.0.7:
Change size type to int64

3.0.6:
Fix download_or_copy to avoid downloading a file existing in a previous production directory

3.0.4:
Fixes on messages

3.0.3:
Fix management of timeout leading to a crash when using biomaj.download parameter.

3.0.2:
set rabbitmq parameter optional

3.0.1:
add missing README etc.. in package

3.0.0:
move download management out of biomaj main package


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

biomaj_download-3.0.25.tar.gz (26.9 kB view details)

Uploaded Source

Built Distribution

biomaj_download-3.0.25-py2.py3-none-any.whl (47.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file biomaj_download-3.0.25.tar.gz.

File metadata

  • Download URL: biomaj_download-3.0.25.tar.gz
  • Upload date:
  • Size: 26.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.14

File hashes

Hashes for biomaj_download-3.0.25.tar.gz
Algorithm Hash digest
SHA256 c7b79aa6e4c5afb367bad01ecb38d828a2482940f58ce7d266cb5e943b7ba141
MD5 fec60d05c88d339dc792c77cc0760f2c
BLAKE2b-256 d25d74a8208df64176b3e0a4692b72af9180fe4bec9fd536db9d92149ddef812

See more details on using hashes here.

File details

Details for the file biomaj_download-3.0.25-py2.py3-none-any.whl.

File metadata

  • Download URL: biomaj_download-3.0.25-py2.py3-none-any.whl
  • Upload date:
  • Size: 47.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.14

File hashes

Hashes for biomaj_download-3.0.25-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 8cd16834e19e2d657eea96bb19bfeb661ed70833cc889ad60ee287ce3145dfc5
MD5 a2df1d274ee6f2f5725600ccb5e58c9f
BLAKE2b-256 4b81159eefeaf59455f27c72e6b401049c24baf9e661623200e710fcf4173d09

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page