Merge pull request #4 from benzcash/ben/wait-for-db-now

Adding a wait for the db to come up, issues with this failing on prod
This commit is contained in:
Ben Wilson 2019-11-12 13:48:10 -05:00 committed by GitHub
commit 279340d5de
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 34 additions and 1 deletions

View File

@ -2,10 +2,11 @@
set -e
python docker/zfaucet/wait_for.py --host db --port 5432 --timeout 60
python manage.py makemigrations
python manage.py migrate
python manage.py collectstatic --no-input
python manage.py check_zcashd --wait 120
python manage.py check_zcashd --wait 240
python manage.py healthcheck
gunicorn --bind=0.0.0.0:8000 --workers=2 zfaucet.wsgi

View File

@ -0,0 +1,32 @@
#!env python3
import argparse
import socket
import time
import sys
waiting = True
elasped = 0
parser = argparse.ArgumentParser()
parser.add_argument("--host", help="Host to test")
parser.add_argument("--port", help="Port to test", type=int)
parser.add_argument("--timeout", help="Seconds to wait (default 10)", type=int, default=10 )
args = parser.parse_args()
print('waiting for: {}:{}'.format(args.host, args.port))
while waiting:
if elasped > args.timeout:
print('Timeout reached, exiting')
sys.exit(1)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
s.connect((args.host, args.port))
waiting = False
except socket.error:
elasped += 2
time.sleep(2)
print('Elapsed: {}s'.format(elasped))
print('Connect to {}:{}!'.format(args.host, args.port))