Kjører oppgaver i loop med pause mellom. Stopper når alt er gjort, blokkert, eller trenger avklaring fra Vegard. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
62 lines
1.7 KiB
Bash
Executable file
62 lines
1.7 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
# Kjører oppgaver sekvensielt til ingen flere er tilgjengelige.
|
|
# Venter mellom sesjoner. Stopper når alt er gjort, blokkert, eller trenger avklaring.
|
|
#
|
|
# Bruk:
|
|
# ./scripts/run-tasks.sh # kjør til ferdig/blokkert
|
|
# ./scripts/run-tasks.sh --interval 60 # 60 sek mellom oppgaver (default: 30)
|
|
|
|
set -euo pipefail
|
|
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
INTERVAL=30
|
|
|
|
while [[ $# -gt 0 ]]; do
|
|
case $1 in
|
|
--interval) INTERVAL=$2; shift 2 ;;
|
|
*) echo "Ukjent flagg: $1"; exit 1 ;;
|
|
esac
|
|
done
|
|
|
|
cd "$ROOT"
|
|
completed=0
|
|
|
|
while true; do
|
|
# Sjekk om det finnes noe å gjøre
|
|
dry_output=$(./scripts/run-next-task.sh --dry 2>&1)
|
|
|
|
if echo "$dry_output" | grep -q "Alle oppgaver er gjort"; then
|
|
echo ""
|
|
echo "=== Alle oppgaver er gjort! ($completed fullført i denne kjøringen) ==="
|
|
./scripts/run-next-task.sh --status
|
|
break
|
|
fi
|
|
|
|
if echo "$dry_output" | grep -q "Ingen tilgjengelige"; then
|
|
echo ""
|
|
echo "=== Ingen tilgjengelige oppgaver. ($completed fullført i denne kjøringen) ==="
|
|
echo "Gjenstående oppgaver er blokkert, har åpne spørsmål, eller venter på pågående arbeid."
|
|
echo ""
|
|
./scripts/run-next-task.sh --status
|
|
break
|
|
fi
|
|
|
|
echo "$dry_output"
|
|
echo ""
|
|
|
|
# Kjør oppgaven
|
|
./scripts/run-next-task.sh
|
|
exit_code=$?
|
|
|
|
if [[ $exit_code -eq 0 ]]; then
|
|
((completed++))
|
|
echo ""
|
|
echo "--- Oppgave ferdig (#$completed). Neste om ${INTERVAL}s (Ctrl-C for å stoppe) ---"
|
|
echo ""
|
|
sleep "$INTERVAL"
|
|
else
|
|
echo ""
|
|
echo "--- Sesjon feilet (exit $exit_code). Stopper. ---"
|
|
./scripts/run-next-task.sh --status
|
|
break
|
|
fi
|
|
done
|