Kapitel 13/Tutorial.md aktualisiert

This commit is contained in:
2025-09-24 13:59:21 +00:00
parent a966ee6ddc
commit e24ad2f260

View File

@@ -1642,3 +1642,63 @@ exit 0
```
Natürlich verzögern wir jede Bearbeitung um mindestens zwei Minuten, aber wir verhinden so die Auslastung wenn wir sie nicht gebrauchen können.
---
# Bonus: Manuelle VOD auswahl
In diesem Teil ergänzen wir den geamten Workflow um einen weiteren Workflow, der die manuelle Auswahl von VODs unterstützt
```bash
#!/usr/bin/env bash
set -euo pipefail
source /etc/clipper/clipper.env
NC_ALIAS="nextcloud"
REMOTE_DIR="Analyse"
INBOX_DIR="/srv/clipper/inbox"
PROCESSED_DIR="$INBOX_DIR/.processed"
LOG_FILE="/srv/clipper/logs/fetch-and-process.log"
mkdir -p "$(dirname "$LOG_FILE")"
exec >> "$LOG_FILE" 2>&1
echo
echo "========== [START] $(date '+%F %T') =========="
mkdir -p "$INBOX_DIR" "$PROCESSED_DIR"
mapfile -t files < <(sftp "$NC_ALIAS" <<EOF | grep '\.mp4$' | awk '{print $NF}'
cd "$REMOTE_DIR"
ls
bye
EOF
)
for file in "${files[@]}"; do
vod_id="${file%.mp4}"
local_file="$INBOX_DIR/$file"
echo "[INFO] Lade $file von Nextcloud..."
sftp "$NC_ALIAS" <<EOF
cd "$REMOTE_DIR"
get "$file" "$local_file.partial"
bye
EOF
if [ -f "$local_file.partial" ]; then
mv "$local_file.partial" "$local_file"
echo "[INFO] Starte Clipper für $vod_id"
/srv/clipper/bin/clipper-vod-get "$vod_id" "$local_file"
mv "$local_file" "$PROCESSED_DIR/"
echo "[DONE] $vod_id abgeschlossen"
else
echo "[FAIL] Download fehlgeschlagen für $file"
fi
done
echo "========== [END] $(date '+%F %T') =========="
```