Files
bdi_podman_serverconf/Services/llamacpp-multi/start-multi-servers.sh

38 rivejä
1.1 KiB
Bash
Raaka Normaali näkymä Historia

2026-02-05 23:27:16 +01:00
#!/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