#!/usr/bin/env bash
set -euo pipefail

RUNTIME_ROOT="${PI_JOB_ROOT:-/home/sebas/runtime/pi-jobs}"
if [[ "${1:-}" == "--runtime-root" ]]; then
  RUNTIME_ROOT="$2"
fi

shopt -s nullglob
for JOB_DIR in "$RUNTIME_ROOT"/jobs/*; do
  [[ -d "$JOB_DIR" ]] || continue
  JOB_ID="$(basename "$JOB_DIR")"
  # shellcheck disable=SC1091
  source "$JOB_DIR/meta.env"
  STATUS="$(cat "$JOB_DIR/status" 2>/dev/null || echo unknown)"
  PID="$(cat "$JOB_DIR/pid" 2>/dev/null || true)"
  PID_ALIVE=no
  if [[ -n "$PID" ]] && kill -0 "$PID" 2>/dev/null; then
    PID_ALIVE=yes
  fi
  printf '%s\t%s\t%s\t%s\t%s\n' "$JOB_ID" "$STATUS" "$PID_ALIVE" "$PID" "$CWD"
done | sort
