未提供项目描述
项目描述
wait-for-service
等待依赖项后继续。它旨在用于启动脚本,例如Docker的entrypoint。该项目是从http://github.com/wlatanowicz/wait-for-service分叉的
安装
pip install wait-for-service
用法
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
可用检查
HTTP(s)
默认情况下,HTTP和HTTPS可用。遵循重定向;只有HTTP代码2XX的响应被视为有效。
接受的URL方案
- http://
- https://
示例
wait-for-service https://my-server/healthz/ http://my-server/healthz/
PostgreSQL
RDBMS必须接受连接并允许执行简单的SELECT查询。
安装
pip install wait-for-service[postgres]
接受的URL方案
- postgres://
- postgresql://
- psql://
示例
wait-for-service psql://admin:password@db-host/db_name
MySQL
RDBMS必须接受连接并允许执行简单的SELECT查询。
安装
pip install wait-for-service[mysql]
接受的URL方案
- mysql://
示例
wait-for-service mysql://admin:password@db-host/db_name
Redis
Rdis必须接受到所选数据库的连接(默认为0)。
安装
pip install wait-for-service[redis]
接受的URL方案
- redis://
示例
wait-for-service redis://redis-host/5
Memcached
Memcached必须接受连接。
安装
pip install wait-for-service[memcached]
接受的URL方案
- memcached://
示例
wait-for-service memcached://memcached-host/
MongoDB
MongoDB必须接受连接。
安装
pip install wait-for-service[mongodb]
接受的URL方案
- mongodb://
示例
wait-for-service mongodb://admin:password@db-host/db_name
RabbitMQ
RabbitMQ必须接受到给定vhost的连接。您可以使用可选的查询字符串参数require_queue
和require_exchange
来额外检查特定队列或交换是否存在(否则检查将失败)。
安装
pip install wait-for-service[amqp]
接受的URL方案
- amqp://
示例
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必须接受连接。在HA模式(节点数 > 1)中,只需要一个节点接受连接。
安装
pip install wait-for-service[kafka]
接受的URL方案
如果未指定端口,则默认为9092,主题是可选的但建议使用
- 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
示例
wait-for-service kafka://kafka-host/
wait-for-service kafka://kafka-first-host/,kafka://kafka-second-host/
TCP
默认情况下,纯TCP可用。需要服务端口。
接受的URL方案
- tcp://
示例
wait-for-service tcp://my-server:7624
Unix
默认情况下,Unix套接字可用。
接受的URL方案
- unix://
示例
wait-for-service unix:///var/run/docker.sock