diff --git a/Plugin/unraid/event/disks_unmounting/array_stop_jobs b/Plugin/unraid/event/disks_unmounting/array_stop_jobs index b92ac04..3150672 100755 --- a/Plugin/unraid/event/disks_unmounting/array_stop_jobs +++ b/Plugin/unraid/event/disks_unmounting/array_stop_jobs @@ -1,16 +1,9 @@ #!/bin/bash -# Varaverk: fire all jobs with cron=array_stop (foreground — blocks until all done). -php -r " -require_once '/usr/local/emhttp/plugins/varaverk/include/scheduler.php'; -\$s = vv_schedule_load(); -\$runner = '/usr/local/emhttp/plugins/varaverk/run_job.sh'; -foreach (\$s as \$id => \$e) { - if (strncmp(\$id, '__', 2) === 0) continue; - if ((\$e['cron'] ?? '') !== 'array_stop') continue; - if (empty(\$e['enabled'])) continue; - \$script = SCRIPTS_DIR . '/' . \$id; - if (!file_exists(\$script)) continue; - \$flags = !empty(\$e['log_enabled']) ? ' --log' : ''; - passthru('bash ' . escapeshellarg(\$runner) . ' ' . escapeshellarg(\$id) . ' ' . escapeshellarg(\$script) . \$flags); -} -" 2>/dev/null +# Varaverk: run array_stopping.sh on array stop (foreground — blocks until done). +# Direct bash call to avoid PHP/scheduler chain failing silently at shutdown time. +SCRIPTS_DIR="/boot/config/plugins/varaverk" +cfg="$SCRIPTS_DIR/varaverk.cfg" +[[ -f "$cfg" ]] && _sd=$(grep -oP '(?<=^SCRIPTS_DIR=")[^"]+' "$cfg" 2>/dev/null) && [[ -n "$_sd" ]] && SCRIPTS_DIR="$_sd" +runner="$SCRIPTS_DIR/Plugin/unraid/run_job.sh" +script="$SCRIPTS_DIR/Orchestrators/array_stopping.sh" +[[ -f "$script" ]] && bash "$runner" "Orchestrators/array_stopping.sh" "$script"