feat(v2): add simple daily extraction-import orchestration
This commit is contained in:
27
scripts/scheduler.sh
Normal file
27
scripts/scheduler.sh
Normal file
@ -0,0 +1,27 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
if [ "${SCHEDULER_ENABLED:-0}" != "1" ]; then
|
||||
echo "Scheduler disabled (SCHEDULER_ENABLED=${SCHEDULER_ENABLED:-0}). Exiting."
|
||||
exit 0
|
||||
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
|
||||
Reference in New Issue
Block a user