使Django等待数据库准备就绪。Docker和Kubernetes的探针。
项目描述
Django-probes 
提供 Django 管理命令,用于检查主数据库是否准备好接收连接。
在 Kubernetes 或 OpenShift 初始化容器 中运行此命令,使您的 Django 应用程序等待数据库可用(例如运行数据库迁移)。
为什么我要使用这个应用程序?
wait_for_database 是一个用于 Django 支持的所有数据库引擎的 单一 命令。它将自动检查您在 Django 项目设置中配置的数据库。无需为 Postgres、MariaDB、Oracle 等编写特定的等待命令,也无需拉取特定数据库引擎的容器来运行数据库就绪性检查。
安装
使用 pip 安装 django-probes 是最简单的方法。
$ pip install django-probes
基本用法
将 django-probes 添加到您的 Django 应用程序中。
INSTALLED_APPS = [
...
'django_probes',
]
2. 在 Kubernetes/OpenShift 部署配置中添加一个 初始化容器,该容器调用 wait_for_database 管理命令。
- kind: Deployment
apiVersion: apps/v1
spec:
template:
spec:
initContainers:
- name: wait-for-database
image: my-django-app:latest
envFrom:
- secretRef:
name: django
command: ['python', 'manage.py', 'wait_for_database']
使用您的自己的命令
或者,您可以将 wait_for_database 命令集成到您自己的管理命令中,并使用与上面类似的 Kubernetes 设置进行数据库迁移、加载初始数据等操作。
from django.core.management import call_command
# ...
call_command('wait_for_database')
命令行选项
管理命令带有合理的默认值,如果需要,您可以覆盖它们。
- –timeout, -t:
在超时之前等待数据库的时间(秒),默认值:180
- –stable, -s:
观察连接是否稳定的时间(秒),默认值:5
- –wait-when-down, -d:
数据库关闭时检查之间的延迟(秒),默认值:2
- –wait-when-alive, -a:
数据库处于活动状态时检查之间的延迟(秒),默认值:1
- –database:
等待 settings.DATABASES 中的哪个数据库,默认值:default
项目详细信息
下载文件
下载适合您平台的应用程序。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分布
django_probes-1.7.0.tar.gz (5.5 kB 查看散列)
构建分布
django_probes-1.7.0-py3-none-any.whl (5.8 kB 查看散列)
关闭
django_probes-1.7.0.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | bb54c9db54f9c6aaadb032fcf77dfb6c6b17e597df1585d667cfe7491d2747d0 |
|
MD5 | 65fd8d54bebb420ee1087e7e4d83586d |
|
BLAKE2b-256 | 3b100d633eb9949ea3d6d87ee3056af6e4be48a9cdf1303ea3d66b5afa69c85b |