我在项目中使用postgresql和django.我把它们放在不同的容器中,问题是我需要在运行django之前等待postgres.此时,我正在用command.sh文件中的sleep 5个django容器来做这件事.我更喜欢Netway,但我也可以不使用额外的软件包.curlwget不能这样做,因为它们不支持postgres协议.

推荐答案

tiziano解决方案的问题在于,curl在默认情况下并没有安装,我希望避免安装额外的东西.不管怎样,我还是照贝雷尔说的做了.这是脚本,如果有人需要的话.

import socket
import time
import os

port = int(os.environ["DB_PORT"]) # 5432

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
while True:
    try:
        s.connect(('myproject-db', port))
        s.close()
        break
    except socket.error as ex:
        time.sleep(0.1)

Postgresql相关问答推荐

如何使用postgr sql regex删除重复项和inc表记录

如何高效地将行聚合到数组中,同时保留`NULL`来指示丢失的数据?

从数据集中提取彼此喜欢的用户(&Q;)

在PostgreSQL中,`MY_VARIABLE IN(<;Long_ARRAY_of_Items>;)`何时是FAST?

时间戳的postgreSQL-to_char如果为零,则不显示微秒

在Postgres中,如何删除包含N个自然数的表,并替换为生成子查询?

使用正则表达式计算 SQL 查询中 WHERE 过滤器的数量

Postgres - 如何加入两列?

新数据未保存到 Postgres 上的 Rails 数组列

函数将多列作为单列而不是多列返回

PostgreSQL 中基于时间戳的移动平均线

在postgres的同一列中存储不同数据类型的合理方法?

如何在 psycopg2 中使用服务器端游标

如何从 WSL 连接到 windows postgres 数据库

SQL数据库表中的多态性?

如何引用使用 ON CONFLICT 中的函数的唯一索引?

我应该同时指定 INDEX 和 UNIQUE INDEX 吗?

如何缩小 pg_toast 表?

postgres - 比较两个数组

在 postgresql 中获取上个月的数据