From 0206381d4580391c0d79a4bb0b6aa5eabcbe4cea Mon Sep 17 00:00:00 2001 From: Thushara Wijeratna Date: Wed, 15 Feb 2017 18:43:29 -0800 Subject: [PATCH 1/2] wait for database user to be created before starting omero-web --- omero-web/start_omero_web.sh | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/omero-web/start_omero_web.sh b/omero-web/start_omero_web.sh index 67b72e4..d3e9ed9 100644 --- a/omero-web/start_omero_web.sh +++ b/omero-web/start_omero_web.sh @@ -1,3 +1,12 @@ +function wait_for_db_user { + output=`psql -U postgres -tAc "SELECT 1 FROM pg_roles WHERE rolname='omero'"` + while [ $output != 1 ]; do + echo Waiting for omero user to be created in the database + sleep 5s + output=`psql -U postgres -tAc "SELECT 1 FROM pg_roles WHERE rolname='omero'"` + done +} + cd $OMERO_HOME if [ $OMERO_WEB_DEVELOPMENT == "no" ] @@ -21,6 +30,8 @@ then export PYTHONPATH=$OMERO_WEB_DEVELOPMENT_APPS:$PYTHONPATH bash /data/omero_web_apps/deploy.sh + wait_for_db_user + ./bin/omero web start else @@ -35,5 +46,6 @@ else ./bin/omero config set omero.web.server_list "[[\"omero_server\", 4064, \"omero\"]]" + wait_for_db_user fi From ff39d0f1cdde13d750ebd77699e28d228e9f2fea Mon Sep 17 00:00:00 2001 From: Thushara Wijeratna Date: Thu, 16 Feb 2017 14:38:36 -0800 Subject: [PATCH 2/2] wait for omero server to be up --- omero-web/start_omero_web.sh | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/omero-web/start_omero_web.sh b/omero-web/start_omero_web.sh index d3e9ed9..df435d6 100644 --- a/omero-web/start_omero_web.sh +++ b/omero-web/start_omero_web.sh @@ -1,9 +1,7 @@ function wait_for_db_user { - output=`psql -U postgres -tAc "SELECT 1 FROM pg_roles WHERE rolname='omero'"` - while [ $output != 1 ]; do - echo Waiting for omero user to be created in the database - sleep 5s - output=`psql -U postgres -tAc "SELECT 1 FROM pg_roles WHERE rolname='omero'"` + until ${OMERO_HOME}/bin/omero login -s omero_server -p 4064 -u root -w password ; do + >&2 echo "OMERO.server is unavailable - sleeping" + sleep 10 done }