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/godocker-prometheus-multiproc mkdir -p ..path_to/godocker-prometheus-multiproc export prometheus_multiproc_dir=..path_to/godocker-prometheus-multiproc gunicorn biomaj_download.biomaj_download_web:app

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

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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

biomaj_download-3.0.12-py2.py3-none-any.whl (36.8 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

File hashes

Hashes for biomaj_download-3.0.12-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 dfecc42a013b6f8e409d410c026e5778c993b4ff100ec31e33eea01490dd0921
MD5 67e81c4c54afe970c19ca384eb31bbf4
BLAKE2b-256 6926e67b298cabaa59edce14a45443c9d549ddc0030f048b2a12115f6e3519e2

See more details on using hashes here.

Supported by

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