Skip to main content

No project description provided

Project description

wait-for-service

Waits for a dependency before continuing. It's meant to be used in startup scripts like Docker's entrypoint. This project is forked from http://github.com/wlatanowicz/wait-for-service

Installing

pip install wait-for-service

Usage

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

ie:

wait-for-service 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-service 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-service[postgres]

Accepted URL schemas

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

Example

wait-for-service 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-service[mysql]

Accepted URL schemas

  • mysql://

Example

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

Redis

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

Installation

pip install wait-for-service[redis]

Accepted URL schemas

  • redis://

Example

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

Memcached

Memcached has to accept connection.

Installation

pip install wait-for-service[memcached]

Accepted URL schemas

  • memcached://

Example

wait-for-service memcached://memcached-host/

MongoDB

MongoDB has to accept connection.

Installation

pip install wait-for-service[mongodb]

Accepted URL schemas

  • mongodb://

Example

wait-for-service 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-service[amqp]

Accepted URL schemas

  • amqp://

Example

wait-for-service amqp://admin:password@rabbit-host/vhost
wait-for-service amqp://admin:password@rabbit-host/vhost?require_queue=myqueue
wait-for-service amqp://admin:password@rabbit-host/vhost?require_exchange=myexchange
wait-for-service 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-service[kafka]

Accepted URL schemas

If port is not specified 9092 will be assumed, topic is optional but recommended

  • kafka://bootstrap-host
  • kafka://bootstrap-host:9092
  • kafka://bootstrap-host,bootstrap-host2:9092
  • kafka://bootstrap-host/topic
  • kafka://bootstrap-host:9092/topic
  • kafka://bootstrap-host,bootstrap-host2:9092/topic

Example

wait-for-service kafka://kafka-host/
wait-for-service 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-service tcp://my-server:7624

Unix

Unix sockets are available by default.

Accepted URL schemas

  • unix://

Example

wait-for-service 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_service-1.2.1.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

wait_for_service-1.2.1-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file wait_for_service-1.2.1.tar.gz.

File metadata

  • Download URL: wait_for_service-1.2.1.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for wait_for_service-1.2.1.tar.gz
Algorithm Hash digest
SHA256 d2028aa23b2603a9cbe3ce3c997beb2da0516a020f415063367d4996574abc98
MD5 698bcea8ff74bd618182ba5890e0bb71
BLAKE2b-256 b46c142265854bfbc166172290ae9e37caeebb2011904985207ce69a2cd31a2b

See more details on using hashes here.

File details

Details for the file wait_for_service-1.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for wait_for_service-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 59091f0054225cecd0568aec172dedcd95b623b193da2939c9b3d64208b78827
MD5 f5f948d81a1ec0eff272d8f2da2ecbd6
BLAKE2b-256 ddd67e894e043003594d285ae8ff45b1279d3df8899a7a77392cdfda7015425f

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