Split config files
Cette révision appartient à :
37
Services/llamacpp-multi/start-multi-servers.sh
Fichier normal
37
Services/llamacpp-multi/start-multi-servers.sh
Fichier normal
@@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
INSTANCES=${LLAMA_INSTANCES:-2}
|
||||
BASE_PORT=${LLAMA_BASE_PORT:-9000}
|
||||
READY_TIMEOUT=${LLAMA_READY_TIMEOUT:-600}
|
||||
|
||||
echo "Starting $INSTANCES llama-server instances on ports $BASE_PORT-$((BASE_PORT+INSTANCES-1))"
|
||||
|
||||
for ((i=0; i<INSTANCES; i++)); do
|
||||
PORT=$((BASE_PORT + i))
|
||||
echo "Starting instance $((i+1))/$INSTANCES on port $PORT..."
|
||||
LLAMA_ARG_PORT=$PORT /app/llama-server \
|
||||
> /var/log/llama-server-$PORT.log 2>&1 &
|
||||
sleep 3
|
||||
done
|
||||
|
||||
echo "Waiting for servers to be ready..."
|
||||
for ((i=0; i<INSTANCES; i++)); do
|
||||
PORT=$((BASE_PORT + i))
|
||||
elapsed=0
|
||||
while [ $elapsed -lt $READY_TIMEOUT ]; do
|
||||
if curl -s http://127.0.0.1:$PORT/health > /dev/null 2>&1; then
|
||||
echo "Instance on port $PORT is ready"
|
||||
break
|
||||
fi
|
||||
sleep 5
|
||||
elapsed=$((elapsed + 5))
|
||||
done
|
||||
if [ $elapsed -ge $READY_TIMEOUT ]; then
|
||||
echo "ERROR: Server on port $PORT did not become ready after ${READY_TIMEOUT}s"
|
||||
fi
|
||||
done
|
||||
|
||||
echo "All instances ready. Monitoring logs..."
|
||||
tail -f /var/log/llama-server-*.log &
|
||||
wait
|
||||
Référencer dans un nouveau ticket
Bloquer un utilisateur