36 lines
1.2 KiB
Bash
36 lines
1.2 KiB
Bash
#!/bin/sh
|
|
set -e
|
|
|
|
if [ "${SCHEDULER_ENABLED:-0}" != "1" ]; then
|
|
DISABLED_SLEEP="${SCHEDULER_DISABLED_SLEEP_SECONDS:-300}"
|
|
if [ "${DISABLED_SLEEP}" -lt 30 ]; then
|
|
echo "SCHEDULER_DISABLED_SLEEP_SECONDS must be >= 30"
|
|
exit 1
|
|
fi
|
|
echo "Scheduler disabled (SCHEDULER_ENABLED=${SCHEDULER_ENABLED:-0}). Entering idle mode with ${DISABLED_SLEEP}s sleep."
|
|
while true; do
|
|
echo "[$(date -u '+%Y-%m-%dT%H:%M:%SZ')] Scheduler disabled; sleeping for ${DISABLED_SLEEP}s."
|
|
sleep "${DISABLED_SLEEP}"
|
|
done
|
|
fi
|
|
|
|
INTERVAL="${DAILY_ORCHESTRATION_INTERVAL_SECONDS:-${SCHEDULER_INTERVAL_SECONDS:-86400}}"
|
|
if [ "${INTERVAL}" -lt 60 ]; then
|
|
echo "DAILY_ORCHESTRATION_INTERVAL_SECONDS/SCHEDULER_INTERVAL_SECONDS must be >= 60"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Starting HoopScout scheduler loop interval=${INTERVAL}s"
|
|
|
|
while true; do
|
|
echo "[$(date -u '+%Y-%m-%dT%H:%M:%SZ')] Running daily orchestration..."
|
|
if python manage.py run_daily_orchestration; then
|
|
echo "[$(date -u '+%Y-%m-%dT%H:%M:%SZ')] Daily orchestration completed successfully."
|
|
else
|
|
echo "[$(date -u '+%Y-%m-%dT%H:%M:%SZ')] Daily orchestration failed."
|
|
fi
|
|
|
|
echo "[$(date -u '+%Y-%m-%dT%H:%M:%SZ')] Sleeping for ${INTERVAL}s."
|
|
sleep "${INTERVAL}"
|
|
done
|