mirror of
https://github.com/Terranom674/Piwigo_Bratonien_Tools.git
synced 2026-09-19 14:04:34 +00:00
Dispatch priority warmup only for changed WebDAV content
This commit is contained in:
@@ -31,23 +31,28 @@ result=0
|
|||||||
for config in "${webdav_configs[@]}"; do
|
for config in "${webdav_configs[@]}"; do
|
||||||
name="$(basename "$config")"
|
name="$(basename "$config")"
|
||||||
echo "NC Connector WebDAV: $name"
|
echo "NC Connector WebDAV: $name"
|
||||||
|
state_dir="$(PIWIGO_CONFIG="$config" bash -c 'source "$PIWIGO_CONFIG"; printf "%s" "${STATE_DIR:-}"')"
|
||||||
|
change_file="${state_dir%/}/webdav-sync-content-changed"
|
||||||
|
|
||||||
if env PIWIGO_CONFIG="$config" bash "$SCRIPT_DIR/sync-webdav.sh"; then
|
if env PIWIGO_CONFIG="$config" bash "$SCRIPT_DIR/sync-webdav.sh"; then
|
||||||
# Ein neues Album soll nicht bis zur periodischen Einzelbildprüfung
|
# Nur ein tatsaechlich geaenderter Connector-Bestand darf einen
|
||||||
# warten. Direkt nach dem vollständig erfolgreichen Sync dieser
|
# laufenden Cache-Rebuild priorisiert unterbrechen. Ein erfolgreicher
|
||||||
# Verbindung darf der Warmup gezielt nur diese Verbindung prüfen.
|
# Sync ohne Aenderung ist kein neuer Inhalt.
|
||||||
if [[ -f "$SCRIPT_DIR/webdav-warmup-dispatch.php" && "$name" =~ ^webdav-connection-([0-9]+)\.conf$ ]]; then
|
if [[ -f "$change_file" && -f "$SCRIPT_DIR/webdav-warmup-dispatch.php" && "$name" =~ ^webdav-connection-([0-9]+)\.conf$ ]]; then
|
||||||
connection_id="${BASH_REMATCH[1]}"
|
connection_id="${BASH_REMATCH[1]}"
|
||||||
php "$SCRIPT_DIR/webdav-warmup-dispatch.php" --mode=sync --connection-id="$connection_id" || result=1
|
php "$SCRIPT_DIR/webdav-warmup-dispatch.php" --mode=sync --connection-id="$connection_id" || result=1
|
||||||
|
rm -f -- "$change_file"
|
||||||
|
else
|
||||||
|
echo "NC Connector WebDAV: keine Inhaltsaenderung, kein priorisierter Warmup erforderlich."
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
result=1
|
result=1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# Einzelne neue/geänderte Bilder in bereits bekannten Alben werden nur über
|
# Einzelne neue/geänderte Bilder in bereits bekannten Alben werden weiterhin
|
||||||
# die periodische Eingangsprüfung behandelt. Der Dispatcher liest zunächst nur
|
# über die periodische Eingangsprüfung behandelt. Der Dispatcher startet die
|
||||||
# den Warmup-State und startet die eigentliche Prüfung erst, wenn das im Plugin
|
# eigentliche Prüfung erst, wenn das konfigurierte Intervall fällig ist.
|
||||||
# konfigurierte Intervall (Standard: 12 Stunden) wirklich fällig ist.
|
|
||||||
if [[ "$result" -eq 0 && -f "$SCRIPT_DIR/webdav-warmup-dispatch.php" ]]; then
|
if [[ "$result" -eq 0 && -f "$SCRIPT_DIR/webdav-warmup-dispatch.php" ]]; then
|
||||||
php "$SCRIPT_DIR/webdav-warmup-dispatch.php" --mode=periodic || result=1
|
php "$SCRIPT_DIR/webdav-warmup-dispatch.php" --mode=periodic || result=1
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user