Sidoineko commited on
Commit
b51c4de
·
1 Parent(s): ce7719a

Update start.sh

Browse files
Files changed (1) hide show
  1. start.sh +64 -10
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
- # Vérification simplifiée
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  while true; do
9
- # Vérifier si le processus Streamlit est toujours en cours
10
- if ! ps -p $! > /dev/null; then
11
- echo "Le serveur Streamlit a été arrêté. Redémarrage..."
12
- streamlit run streamlit_app.py --server.port=8501 --server.address=0.0.0.0 --server.fileWatcherType none --server.runOnSave false --server.headless true &
 
 
 
 
 
 
 
 
 
 
 
 
13
  fi
14
- sleep 30
 
 
 
 
 
 
 
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