Kapitel 13/Tutorial.md aktualisiert

This commit is contained in:
Thomas committed 2025-09-24 13:59:21 +00:00
1 parent a966ee6ddc
commit e24ad2f260
1 file changed
+61 -1
+61 -1
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') =========="
```