AutoLoop / start.sh
shubhjn's picture
fix broken automation
e140d17
#!/bin/bash
set -euo pipefail
QUEUE_DIR="${QUEUE_DIR:-/data/valkey}"
QUEUE_CONFIG="/tmp/valkey.conf"
QUEUE_BIN="valkey-server"
QUEUE_CLI="valkey-cli"
if ! command -v "${QUEUE_BIN}" >/dev/null 2>&1; then
QUEUE_BIN="redis-server"
QUEUE_CLI="redis-cli"
fi
if [ ! -d "$(dirname "${QUEUE_DIR}")" ] || [ ! -w "$(dirname "${QUEUE_DIR}")" ]; then
QUEUE_DIR="/tmp/valkey"
fi
mkdir -p "${QUEUE_DIR}"
if [ -z "${REDIS_URL:-}" ]; then
export REDIS_URL="redis://127.0.0.1:6379"
fi
cat > "${QUEUE_CONFIG}" <<EOF
bind 127.0.0.1
port 6379
dir ${QUEUE_DIR}
appendonly yes
save 60 1000
daemonize yes
EOF
echo "Starting local queue backend with ${QUEUE_BIN}..."
"${QUEUE_BIN}" "${QUEUE_CONFIG}"
sleep 2
cleanup() {
if [ -n "${WORKER_PID:-}" ] && kill -0 "${WORKER_PID}" >/dev/null 2>&1; then
kill "${WORKER_PID}" >/dev/null 2>&1 || true
fi
if [ -n "${SERVER_PID:-}" ] && kill -0 "${SERVER_PID}" >/dev/null 2>&1; then
kill "${SERVER_PID}" >/dev/null 2>&1 || true
fi
if command -v "${QUEUE_CLI}" >/dev/null 2>&1; then
"${QUEUE_CLI}" shutdown nosave >/dev/null 2>&1 || true
fi
}
trap cleanup EXIT INT TERM
echo "Starting dedicated automation worker..."
pnpm worker &
WORKER_PID=$!
echo "Starting web server..."
pnpm start:all &
SERVER_PID=$!
wait -n "${WORKER_PID}" "${SERVER_PID}"