#!/bin/bash

exec 2>&1

IDLE_TIMEOUT=5
FAIL_TIMEOUT=60

export PATH="/opt/control/bin:/opt/admin/bin:$PATH"

debug() { echo "[tl-cmd] $*"; }
stat() { echo "$*" > "/srv/secure/cmd/status"; }

mkdir -p "/srv/secure/cmd/queue"
cd "/srv/secure/cmd/queue"

while RUN="$(ls -1 | head -n1)" && [ -n "$RUN" ]; do
  debug "Running: $RUN"
  stat "$RUN"

  if . "$RUN"; then
    debug "Success: $RUN ($?)"
    rm "$RUN"
  else
    debug "Failure: $RUN ($?)"
    stat failed

    debug "Waiting $FAIL_TIMEOUT seconds..."
    sleep "$FAIL_TIMEOUT"
  fi
done

debug "Idle: Queue is empty"
stat idle

debug "Waiting $IDLE_TIMEOUT seconds..."
sleep "$IDLE_TIMEOUT"
