Skip to main content

Waits for dependencies before running the app

Project description

wait-for-dep

Waits for a dependency before continuing. It's ment to be used in startup scripts like Docker's entrypoint.

Installing

pip install wait-for-dep

Usage

wait-for-dep dependency-url-1 dependency-url-2 ... dependency-url-n

ie:

wait-for-dep https://my-server/healthz/ psql://user@db-host/db-name

Available checks

HTTP(s)

HTTP and HTTPS are available by default. Follows redirects; only response with HTTP code 2XX is accepted as valid.

Accepted URL schemas

  • http://
  • https://

Example

wait-for-dep https://my-server/healthz/ http://my-server/healthz/

PostgreSQL

RDBMS has to accept connection and allow to perform simple SELECT query.

Installation

pip install wait-for-dep[postgres]

Accepted URL schemas

  • postgres://
  • postgresql://
  • psql://

Example

wait-for-dep psql://admin:password@db-host/db_name

MySQL

RDBMS has to accept connection and allow to perform simple SELECT query.

Installation

pip install wait-for-dep[mysql]

Accepted URL schemas

  • mysql://

Example

wait-for-dep mysql://admin:password@db-host/db_name

Redis

Rdis has to accept connection to selected database (defaults to 0).

Installation

pip install wait-for-dep[redis]

Accepted URL schemas

  • redis://

Example

wait-for-dep redis://redis-host/5

Memcached

Memcached has to accept connection.

Installation

pip install wait-for-dep[memcached]

Accepted URL schemas

  • memcached://

Example

wait-for-dep memcached://memcached-host/

MongoDB

MongoDB has to accept connection.

Installation

pip install wait-for-dep[mongodb]

Accepted URL schemas

  • mongodb://

Example

wait-for-dep mongodb://admin:password@db-host/db_name

RabbitMQ

RabbitMQ has to accept connection to given vhost. You can use optional querystring params require_queue and require_exchange to additionaly check if particular queue or exchange exists (check will fail otherwise).

Installation

pip install wait-for-dep[amqp]

Accepted URL schemas

  • amqp://

Example

wait-for-dep amqp://admin:password@rabbit-host/vhost
wait-for-dep amqp://admin:password@rabbit-host/vhost?require_queue=myqueue
wait-for-dep amqp://admin:password@rabbit-host/vhost?require_exchange=myexchange
wait-for-dep amqp://admin:password@rabbit-host/vhost?require_exchange=myexchange&require_exchange=mysecondexchange&require_queue=myqueue&require_queue=mysecondqueue

Apache Kafka

Kafka has to accept connection. In HA mode (node count > 1) only one node is required to accept the connection.

Installation

pip install wait-for-dep[kafka]

Accepted URL schemas

  • kafka://

Example

wait-for-dep kafka://kafka-host/
wait-for-dep kafka://kafka-first-host/,kafka://kafka-second-host/

TCP

Plain TCP is available by default. Service port is required.

Accepted URL schemas

  • tcp://

Example

wait-for-dep tcp://my-server:7624

Unix

Unix sockets are available by default.

Accepted URL schemas

  • unix://

Example

wait-for-dep unix:///var/run/docker.sock

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

wait_for_dep-0.5.0.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

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

wait_for_dep-0.5.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file wait_for_dep-0.5.0.tar.gz.

File metadata

  • Download URL: wait_for_dep-0.5.0.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.21

File hashes

Hashes for wait_for_dep-0.5.0.tar.gz
Algorithm Hash digest
SHA256 f12e839f797ba39a53dc4645864a2b443e920261275b0fd0981a87f7937cf00d
MD5 51e08c340a9c72128ba061c44b670b86
BLAKE2b-256 ee0d9345ed046fa1111c8312369be9207c1c005041b6f0c8a2c9935089b7cffe

See more details on using hashes here.

File details

Details for the file wait_for_dep-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: wait_for_dep-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.21

File hashes

Hashes for wait_for_dep-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c58edd0709270a010e58d8cdd8078d61881cfc3b16bb14eff9e3afc66a25464d
MD5 e9f1fcb8127c07c51a29f0ae9af96443
BLAKE2b-256 c548eb612b5abe375a25ff1b19565e6fdbcf9b8fc9cc0e6045855fea5b49bfdd

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