From df85525eb75ce0bb2435cf8f3514c6b7bbfffb81 Mon Sep 17 00:00:00 2001 From: Luca Sacchi Ricciardi Date: Thu, 16 Apr 2026 17:25:43 +0200 Subject: [PATCH] Fix: Replace fixed sleep delays with retry loops for PostgreSQL readiness --- .../tutorial/01-deploy-rds-database.md | 3 --- .../tutorial/02-data-persistence.md | 20 +++++++++---------- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/labs/lab-05-database/tutorial/01-deploy-rds-database.md b/labs/lab-05-database/tutorial/01-deploy-rds-database.md index 93c67fd..38ae942 100644 --- a/labs/lab-05-database/tutorial/01-deploy-rds-database.md +++ b/labs/lab-05-database/tutorial/01-deploy-rds-database.md @@ -59,9 +59,6 @@ Esegui: # Avvia i container docker compose up -d -# Attendi che PostgreSQL sia pronto (circa 10-15 secondi) -sleep 15 - # Verifica che il database sia in esecuzione docker ps | grep lab05-db ``` diff --git a/labs/lab-05-database/tutorial/02-data-persistence.md b/labs/lab-05-database/tutorial/02-data-persistence.md index b9f2c7c..8272b46 100644 --- a/labs/lab-05-database/tutorial/02-data-persistence.md +++ b/labs/lab-05-database/tutorial/02-data-persistence.md @@ -101,11 +101,11 @@ Esegui: # Riavvia il database docker compose up -d db -# Attendi che sia pronto -sleep 10 - -# Verifica health -docker exec lab05-db pg_isready -U lab05_user +# Verifica health (riprova finché non è pronto) +until docker exec lab05-db pg_isready -U lab05_user 2>/dev/null; do + echo "Attendiamo che il database sia pronto..." + sleep 2 +done ``` --- @@ -169,9 +169,6 @@ docker compose down -v # Riavvia docker compose up -d -# Attendi che PostgreSQL sia pronto -sleep 15 - # Verifica che i dati siano PERSI (corretto con -v) docker exec lab05-db psql -U lab05_user -d lab05_db -c " SELECT COUNT(*) FROM persistence_test; @@ -229,8 +226,11 @@ docker volume ls # Se il volume non esiste, ricrealo rialzando il compose docker compose up -d -# Attendi che PostgreSQL sia pronto -sleep 15 +# Attendi che il database sia pronto +until docker exec lab05-db pg_isready -U lab05_user 2>/dev/null; do + echo "Attendiamo che il database sia pronto..." + sleep 2 +done ``` ### Permesso negato su volume