diff --git a/dockerfiles/swh-indexer-worker/Dockerfile b/dockerfiles/swh-indexer-worker/Dockerfile --- a/dockerfiles/swh-indexer-worker/Dockerfile +++ b/dockerfiles/swh-indexer-worker/Dockerfile @@ -2,8 +2,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ apt-get update && \ - apt-get install -y \ - libsystemd-dev postgresql-client + apt-get install -y libsystemd-dev && \ + apt-get install -y postgresql-client && \ + apt-get install -y wait-for-it RUN pip install --upgrade pip setuptools wheel RUN pip install swh-indexer diff --git a/dockerfiles/swh-indexer-worker/entrypoint.sh b/dockerfiles/swh-indexer-worker/entrypoint.sh --- a/dockerfiles/swh-indexer-worker/entrypoint.sh +++ b/dockerfiles/swh-indexer-worker/entrypoint.sh @@ -18,6 +18,9 @@ exec bash -i ;; *) + echo Waiting for RabbitMQ to start + wait-for-it amqp:5672 -s --timeout=0 + echo Starting swh-indexer worker exec python -m celery worker \ --app=swh.scheduler.celery_backend.config.app \ @@ -26,7 +29,7 @@ --maxtasksperchild=${MAX_TASKS_PER_CHILD} \ -Ofair --loglevel=${LOGLEVEL} --without-gossip \ --without-mingle \ - --heartbeat-interval 10 \ + --heartbeat-interval 10 \ --hostname "${SWH_WORKER_INSTANCE}@%h" ;; esac diff --git a/dockerfiles/swh-listers-worker/Dockerfile b/dockerfiles/swh-listers-worker/Dockerfile --- a/dockerfiles/swh-listers-worker/Dockerfile +++ b/dockerfiles/swh-listers-worker/Dockerfile @@ -2,8 +2,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ apt-get update && \ - apt-get install -y \ - libsystemd-dev postgresql-client + apt-get install -y libsystemd-dev && \ + apt-get install -y postgresql-client && \ + apt-get install -y wait-for-it RUN pip install --upgrade pip setuptools wheel RUN pip install swh-lister diff --git a/dockerfiles/swh-listers-worker/entrypoint.sh b/dockerfiles/swh-listers-worker/entrypoint.sh --- a/dockerfiles/swh-listers-worker/entrypoint.sh +++ b/dockerfiles/swh-listers-worker/entrypoint.sh @@ -44,11 +44,14 @@ echo Creating database createdb ${POSTGRES_DB} - echo Initialize database - python -m swh.lister.cli \ - --db-url postgres://${PGUSER}@${PGHOST}/${POSTGRES_DB} \ - all - fi + echo Initialize database + python -m swh.lister.cli \ + --db-url postgres://${PGUSER}@${PGHOST}/${POSTGRES_DB} \ + all + fi + + echo Waiting for RabbitMQ to start + wait-for-it amqp:5672 -s --timeout=0 echo Starting the swh-lister Celery worker for ${SWH_WORKER_INSTANCE} exec python -m celery worker \ @@ -58,7 +61,7 @@ --maxtasksperchild=${MAX_TASKS_PER_CHILD} \ -Ofair --loglevel=${LOGLEVEL} --without-gossip \ --without-mingle \ - --heartbeat-interval 10 \ + --heartbeat-interval 10 \ --hostname "${SWH_WORKER_INSTANCE}@%h" ;; esac diff --git a/dockerfiles/swh-loaders-worker/Dockerfile b/dockerfiles/swh-loaders-worker/Dockerfile --- a/dockerfiles/swh-loaders-worker/Dockerfile +++ b/dockerfiles/swh-loaders-worker/Dockerfile @@ -2,8 +2,10 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ apt-get update && \ - apt-get install -y \ - libsystemd-dev libapr1-dev libaprutil1-dev libsvn-dev + apt-get install -y libsystemd-dev && \ + apt-get install -y libapr1-dev libaprutil1-dev && \ + apt-get install -y libsvn-dev && \ + apt-get install -y wait-for-it RUN pip install \ swh-loader-debian \ diff --git a/dockerfiles/swh-loaders-worker/entrypoint.sh b/dockerfiles/swh-loaders-worker/entrypoint.sh --- a/dockerfiles/swh-loaders-worker/entrypoint.sh +++ b/dockerfiles/swh-loaders-worker/entrypoint.sh @@ -22,6 +22,9 @@ exec bash -i ;; *) + echo Waiting for RabbitMQ to start + wait-for-it amqp:5672 -s --timeout=0 + echo Starting the swh-loader Celery worker for ${SWH_WORKER_INSTANCE} exec python -m celery worker \ --app=swh.scheduler.celery_backend.config.app \ @@ -30,7 +33,7 @@ --maxtasksperchild=${MAX_TASKS_PER_CHILD} \ -Ofair --loglevel=${LOGLEVEL} --without-gossip \ --without-mingle \ - --heartbeat-interval 10 \ + --heartbeat-interval 10 \ --hostname "${SWH_WORKER_INSTANCE}@%h" ;; esac diff --git a/dockerfiles/swh-scheduler-worker/Dockerfile b/dockerfiles/swh-scheduler-worker/Dockerfile --- a/dockerfiles/swh-scheduler-worker/Dockerfile +++ b/dockerfiles/swh-scheduler-worker/Dockerfile @@ -2,8 +2,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ apt-get update && \ - apt-get install -y \ - libsystemd-dev postgresql-client libpq-dev + apt-get install -y libsystemd-dev && \ + apt-get install -y postgresql-client libpq-dev && \ + apt-get install -y wait-for-it RUN pip install --upgrade pip setuptools wheel RUN pip install swh-scheduler --no-binary psycopg2 diff --git a/dockerfiles/swh-scheduler-worker/entrypoint.sh b/dockerfiles/swh-scheduler-worker/entrypoint.sh --- a/dockerfiles/swh-scheduler-worker/entrypoint.sh +++ b/dockerfiles/swh-scheduler-worker/entrypoint.sh @@ -29,7 +29,7 @@ exec bash -i ;; *) - echo Starting the swh-scheduler $1 - exec swh-scheduler --log-level ${LOGLEVEL} -C /scheduler.yml $@ - ;; + echo "Starting the swh-scheduler $1" + exec wait-for-it amqp:5672 -s --timeout=0 -- swh-scheduler --log-level ${LOGLEVEL} -C /scheduler.yml $@ + ;; esac