From bf2d833410b2af97eac4fa1bb80d220d8be1beb2 Mon Sep 17 00:00:00 2001 From: vegard Date: Tue, 17 Mar 2026 11:46:15 +0100 Subject: [PATCH] Legg til run-tasks.sh: sekvensiell runner til ferdig/blokkert MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- scripts/run-tasks.sh | 62 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100755 scripts/run-tasks.sh diff --git a/scripts/run-tasks.sh b/scripts/run-tasks.sh new file mode 100755 index 0000000..b2f08d7 --- /dev/null +++ b/scripts/run-tasks.sh @@ -0,0 +1,62 @@ +#!/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