Il relay HLS→RTMPS resta sul worker/agent del nodo assegnato, così tre dirette contemporanee restano in onda sul sito e sul canale della società senza schermo nero. Co-authored-by: Cursor <cursoragent@cursor.com>
38 lines
1.3 KiB
Bash
Executable File
38 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Avvia/ferma un worker ffmpeg per un nodo lab, riusando l'immagine Sidekiq di collaudo.
|
|
# Uso:
|
|
# STREAM_NODE_SLUG=ingest-lab-01 bash scripts/deploy/collaudo_relay_worker.sh up
|
|
# STREAM_NODE_SLUG=ingest-lab-01 bash scripts/deploy/collaudo_relay_worker.sh down
|
|
set -euo pipefail
|
|
ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
|
|
SLUG="${STREAM_NODE_SLUG:?Imposta STREAM_NODE_SLUG (es. ingest-lab-01)}"
|
|
ACTION="${1:-up}"
|
|
NAME="infra-sidekiq-relay-${SLUG}"
|
|
COMPOSE=(bash "$ROOT/scripts/deploy/collaudo_compose.sh")
|
|
|
|
case "$ACTION" in
|
|
up)
|
|
docker rm -f "$NAME" >/dev/null 2>&1 || true
|
|
"${COMPOSE[@]}" run -d --name "$NAME" --no-deps \
|
|
-e STREAM_NODE_SLUG="$SLUG" \
|
|
-e YOUTUBE_RELAY_WORKER=1 \
|
|
-e HOSTNAME="$SLUG" \
|
|
-e STREAM_NODE_LOCAL_RTMP_URL=rtmp://mediamtx:1935 \
|
|
-e STREAM_NODE_LOCAL_HLS_URL=http://mediamtx:8888 \
|
|
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}"
|
|
;;
|
|
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-lab-01 $0 up|down|logs" >&2
|
|
exit 1
|
|
;;
|
|
esac
|