Avvia i relay YouTube overflow dal Sidekiq home e passa STREAM/HCLOUD in produzione.
Così un CPX nuovo non richiede worker Docker a mano, l'agent è nel cloud-init e gli E2E restano non in elenco. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Executable
+54
@@ -0,0 +1,54 @@
|
||||
#!/usr/bin/env bash
|
||||
# Fallback manuale: worker dedicato youtube_relay_<slug> verso l'agent sul CPX.
|
||||
# In produzione il Sidekiq home ascolta youtube_relay_cloud e chiama l'agent da solo;
|
||||
# questo script serve solo se quel dispatch è spento o per debug.
|
||||
# STREAM_NODE_SLUG=ingest-01 STREAM_NODE_RELAY_AGENT_URL=http://1.2.3.4:9100 \
|
||||
# bash scripts/deploy/prod_relay_worker.sh up
|
||||
set -euo pipefail
|
||||
ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
|
||||
INFRA="${MATCHLIVETV_INFRA:-$ROOT/infra}"
|
||||
if [ -d /opt/matchlivetv/infra ]; then
|
||||
INFRA=/opt/matchlivetv/infra
|
||||
fi
|
||||
SLUG="${STREAM_NODE_SLUG:?Imposta STREAM_NODE_SLUG (es. ingest-01)}"
|
||||
ACTION="${1:-up}"
|
||||
NAME="infra-sidekiq-relay-${SLUG}"
|
||||
AGENT_URL="${STREAM_NODE_RELAY_AGENT_URL:-}"
|
||||
AGENT_SECRET="${STREAM_NODE_AGENT_SECRET:-mediamtx_webhook_dev_secret}"
|
||||
cd "$INFRA"
|
||||
COMPOSE=(docker compose -f docker-compose.prod.yml --env-file .env)
|
||||
|
||||
case "$ACTION" in
|
||||
up)
|
||||
docker rm -f "$NAME" >/dev/null 2>&1 || true
|
||||
extra=()
|
||||
if [[ -n "$AGENT_URL" ]]; then
|
||||
extra+=(
|
||||
-e STREAM_NODE_RELAY_AGENT_URL="$AGENT_URL"
|
||||
-e STREAM_NODE_AGENT_SECRET="$AGENT_SECRET"
|
||||
-e STREAM_NODE_LOCAL_RTMP_URL=rtmp://127.0.0.1:1935
|
||||
-e STREAM_NODE_LOCAL_HLS_URL=http://127.0.0.1:8888
|
||||
)
|
||||
fi
|
||||
"${COMPOSE[@]}" run -d --name "$NAME" --no-deps \
|
||||
-e STREAM_NODE_SLUG="$SLUG" \
|
||||
-e YOUTUBE_RELAY_WORKER=1 \
|
||||
-e HOSTNAME="$SLUG" \
|
||||
-e RELAY_MAX_CONCURRENT="${RELAY_MAX_CONCURRENT:-2}" \
|
||||
"${extra[@]}" \
|
||||
sidekiq \
|
||||
bash -lc "bundle exec sidekiq -c \${RELAY_MAX_CONCURRENT:-2} -q youtube_relay_${SLUG} -e production"
|
||||
echo "relay worker up name=${NAME} queue=youtube_relay_${SLUG} agent=${AGENT_URL:-local}"
|
||||
;;
|
||||
down)
|
||||
docker rm -f "$NAME" >/dev/null 2>&1 || true
|
||||
echo "relay worker down name=${NAME}"
|
||||
;;
|
||||
logs)
|
||||
docker logs -f --tail=80 "$NAME"
|
||||
;;
|
||||
*)
|
||||
echo "Uso: STREAM_NODE_SLUG=ingest-01 STREAM_NODE_RELAY_AGENT_URL=http://IP:9100 $0 up|down|logs" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user