uneed commited on
Commit
a5f39fb
1 Parent(s): 4a1a09c

Create wait-for-psql.py

Browse files
Files changed (1) hide show
  1. wait-for-psql.py +32 -0
wait-for-psql.py ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ import argparse
3
+ import psycopg2
4
+ import sys
5
+ import time
6
+
7
+
8
+ if __name__ == '__main__':
9
+ arg_parser = argparse.ArgumentParser()
10
+ arg_parser.add_argument('--db_host', required=True)
11
+ arg_parser.add_argument('--db_port', required=True)
12
+ arg_parser.add_argument('--db_user', required=True)
13
+ arg_parser.add_argument('--db_password', required=True)
14
+ arg_parser.add_argument('--timeout', type=int, default=5)
15
+
16
+ args = arg_parser.parse_args()
17
+
18
+ start_time = time.time()
19
+ while (time.time() - start_time) < args.timeout:
20
+ try:
21
+ conn = psycopg2.connect(user=args.db_user, host=args.db_host, port=args.db_port, password=args.db_password, dbname='postgres')
22
+ error = ''
23
+ break
24
+ except psycopg2.OperationalError as e:
25
+ error = e
26
+ else:
27
+ conn.close()
28
+ time.sleep(1)
29
+
30
+ if error:
31
+ print("Database connection failure: %s" % error, file=sys.stderr)
32
+ sys.exit(1)