#!/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