s/cleanup: kill idle sessions instead of removing done batch jobs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Levi Neely 2026-04-24 09:18:31 +02:00
parent 9e26eb0375
commit e4b78b705a
1 changed files with 5 additions and 7 deletions

View File

@ -1,13 +1,11 @@
#!/usr/bin/env bash
# s/cleanup: remove all batch jobs with state "done".
# s/cleanup: kill all idle sessions.
set -euo pipefail
OLLIE=${OLLIE:-$HOME/mnt/ollie}
for job in "$OLLIE"/s/*/; do
[ -d "$job" ] || continue
state=$(cat "$job/state" 2>/dev/null | tr -d '[:space:]') || continue
case "$state" in
done*) rm -r "$job" ;;
esac
for sess in "$OLLIE"/s/*/; do
[ -d "$sess" ] || continue
state=$(awk -F= '$1=="state"{print $2; exit}' "$sess/cfg" 2>/dev/null | tr -d '[:space:]') || continue
[ "$state" = "idle" ] && rm -r "$sess"
done