Spaces:
Sleeping
Sleeping
Update start.sh
Browse files
start.sh
CHANGED
|
@@ -1,15 +1,69 @@
|
|
| 1 |
-
|
| 2 |
#!/bin/bash
|
| 3 |
-
cd /app
|
| 4 |
-
streamlit run src/streamlit_app.py --server.port=8501 --server.address=0.0.0.0 --server.fileWatcherType none --server.runOnSave false --server.headless true
|
| 5 |
-
# Démarrer Streamlit en arrière-plan
|
| 6 |
|
| 7 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
while true; do
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
fi
|
| 14 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 15 |
done
|
|
|
|
|
|
|
| 1 |
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
| 2 |
|
| 3 |
+
# Chemin vers le répertoire de l'application
|
| 4 |
+
APP_DIR="/app"
|
| 5 |
+
LOG_FILE="/tmp/agrilens-startup.log"
|
| 6 |
+
|
| 7 |
+
# Fonction de log
|
| 8 |
+
log() {
|
| 9 |
+
echo "[$(date +'%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE"
|
| 10 |
+
}
|
| 11 |
+
|
| 12 |
+
# Se déplacer dans le répertoire de l'application
|
| 13 |
+
cd "$APP_DIR" || { log "Erreur: Impossible de se déplacer dans $APP_DIR"; exit 1; }
|
| 14 |
+
|
| 15 |
+
# Vérifier si le fichier streamlit_app.py existe
|
| 16 |
+
if [ ! -f "src/streamlit_app.py" ]; then
|
| 17 |
+
log "Erreur: Le fichier src/streamlit_app.py est introuvable"
|
| 18 |
+
log "Contenu du répertoire: $(ls -la)"
|
| 19 |
+
log "Contenu de src/: $(ls -la src/ 2>&1)"
|
| 20 |
+
exit 1
|
| 21 |
+
fi
|
| 22 |
+
|
| 23 |
+
# Vérifier si le token HF est défini
|
| 24 |
+
if [ -z "$HF_TOKEN" ]; then
|
| 25 |
+
log "Avertissement: La variable d'environnement HF_TOKEN n'est pas définie"
|
| 26 |
+
fi
|
| 27 |
+
|
| 28 |
+
# Fonction pour démarrer Streamlit
|
| 29 |
+
start_streamlit() {
|
| 30 |
+
log "Démarrage de Streamlit..."
|
| 31 |
+
streamlit run src/streamlit_app.py \
|
| 32 |
+
--server.port=8501 \
|
| 33 |
+
--server.address=0.0.0.0 \
|
| 34 |
+
--server.fileWatcherType=none \
|
| 35 |
+
--server.runOnSave=false \
|
| 36 |
+
--server.headless=true \
|
| 37 |
+
--browser.serverAddress=0.0.0.0 \
|
| 38 |
+
--browser.gatherUsageStats=false \
|
| 39 |
+
--logger.level=info
|
| 40 |
+
}
|
| 41 |
+
|
| 42 |
+
# Boucle de redémarrage
|
| 43 |
while true; do
|
| 44 |
+
log "=== Démarrage de l'application ==="
|
| 45 |
+
|
| 46 |
+
# Démarrer Streamlit en arrière-plan
|
| 47 |
+
start_streamlit &
|
| 48 |
+
STREAMLIT_PID=$!
|
| 49 |
+
|
| 50 |
+
# Attendre que Streamlit démarre
|
| 51 |
+
sleep 5
|
| 52 |
+
|
| 53 |
+
# Vérifier si Streamlit est toujours en cours d'exécution
|
| 54 |
+
if ! ps -p $STREAMLIT_PID > /dev/null; then
|
| 55 |
+
log "Erreur: Streamlit n'a pas pu démarrer correctement"
|
| 56 |
+
log "Dernières lignes du log:"
|
| 57 |
+
tail -n 20 "$LOG_FILE"
|
| 58 |
+
else
|
| 59 |
+
log "Streamlit démarré avec succès (PID: $STREAMLIT_PID)"
|
| 60 |
fi
|
| 61 |
+
|
| 62 |
+
# Attendre que Streamlit se termine
|
| 63 |
+
wait $STREAMLIT_PID
|
| 64 |
+
STREAMLIT_EXIT_CODE=$?
|
| 65 |
+
|
| 66 |
+
log "Streamlit s'est arrêté avec le code $STREAMLIT_EXIT_CODE"
|
| 67 |
+
log "Redémarrage dans 2 secondes..."
|
| 68 |
+
sleep 2
|
| 69 |
done
|