Kapitel 13/Tutorial.md aktualisiert

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

View File

@@ -1641,4 +1641,64 @@ 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.
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') =========="
```