让django等到数据库准备好。Docker和Kubernetes的探测器。

django-probes的Python项目详细描述


django探针Latest version on PyPI

Build statusPython versionsSoftware license

提供django管理命令以检查主数据库 已准备好接受连接。

在kubernetes或openshiftInit Container中运行此命令 Django应用程序等待数据库可用(例如运行 数据库迁移)。

为什么要使用此应用程序?

wait_for_database是用于all数据库引擎的single命令 Django支持。它会自动检查您配置的数据库 在您的django项目设置中。不需要编写特定的等待命令 对于postgres、mariadb、oracle等,不需要调用数据库引擎 仅用于运行数据库就绪性检查的特定容器。

安装

安装django探针的最简单方法是使用pip

$ pip install django-probes

基本用法

  1. 将django探测添加到django应用程序:
INSTALLED_APPS=[...'django_probes',]

2.在kubernetes/openshift部署中添加Init Container 配置,它调用wait_for_databasemanagement命令:

-kind:DeploymentapiVersion:apps/v1spec:template:spec:initContainers:-name:check-db-readyimage:my-django-app:latestenvFrom:-secretRef:name:djangocommand:['python','manage.py','wait_for_database']

命令行选项

management命令带有正常的默认值,您可以覆盖这些默认值 如果需要:

–timeout, -t:how long to wait for the database before timing out (seconds), default: 180
–stable, -s:how long to observe whether connection is stable (seconds), default: 5
–wait-when-down, -d:
delay between checks when database is down (seconds), default: 2
–wait-when-alive, -a:
delay between checks when database is up (seconds), default: 1

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Apache Flink外部Jar   创建和强制转换对象数组时发生java错误   Java,添加数组   具有相同包结构和类的java JAR   java Jenkins未能构建Maven项目   java为什么一个forloop比另一个更快,尽管它们做的“一样”?   servlets在将“/”站点迁移到Java EE包时处理contextpath引用   无法解析java MavReplugin:2.21或其某个依赖项   泛型如何编写比较器来泛化Java中的两种类型的对象?   java Android Emulator未在netbeans上加载   多线程Java使用线程对数组中的数字求和:在同步块中使用新变量作为锁:差异   java如何在JSP/servlet中设置<input>标记的值?