37 lines
953 B
PHP
37 lines
953 B
PHP
|
<?php
|
||
|
|
||
|
function connect()
|
||
|
{
|
||
|
$connection = getenv('DB_CONNECTION');
|
||
|
$host = getenv('DB_HOST');
|
||
|
$username = getenv('DB_USERNAME');
|
||
|
$password = getenv('DB_PASSWORD');
|
||
|
$database = getenv('DB_DATABASE');
|
||
|
$port = getenv('DB_PORT');
|
||
|
if ($connection === 'mysql') {
|
||
|
return mysqli_connect($host, $username, $password, $database, $port);
|
||
|
}
|
||
|
if ($connection === 'pgsql') {
|
||
|
return pg_connect('host=' . $host . ' port=' . $port . ' dbname=' . $database . ' user=' . $username . ' password=' . $password);
|
||
|
}
|
||
|
throw new Exception('unsupported connection type ' . $connection);
|
||
|
}
|
||
|
|
||
|
$conn = connect();
|
||
|
|
||
|
$counter = 10;
|
||
|
$count = 1;
|
||
|
while (!$conn) {
|
||
|
echo("Waiting for Database... $count / $counter\n");
|
||
|
sleep(2);
|
||
|
$conn = connect();
|
||
|
$count++;
|
||
|
if ($count == $counter) {
|
||
|
echo("Database did not respond after $counter tries, giving up\n");
|
||
|
die(1);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
echo "Database is up\n";
|
||
|
?>
|