Sleds/utils/wipe-jobs.sh

37 lines
915 B
Bash
Raw Normal View History

2025-03-13 21:28:38 +00:00
#!/bin/bash
# Usage: wipe-jobs.sh [--signature sig]
#
# Removes all jobs, or only those belonging to indicated signature
source /sequencelogic/bin/sequencelogic-mongo-helpers.sh
SIG=""
QUERY="db.sgnode.count({type:\"SNT_JOB\"})"
if [ "$1" = "--signature" ]; then
shift
SIG=$1
shift
fi
if [ "${SIG}" != "" ]; then
QUERY=$(echo "$QUERY" | sed "s/{/{signature:\"${SIG}\",/")
fi
echo
echo "=== Counting jobs to remove ==="
echo
mongoExec "$QUERY"
echo
echo "=== Continue to remove jobs (verify count above; press ^c to quit) ==="
read resp
QUERY=$(echo "$QUERY" | sed 's/count/update/')
QUERY=$(echo "$QUERY" | sed 's/[)]/,{\$set:{\"data.ingest.value.job_expiration\":\"1970-01-01T00:00:00.000Z\", \"data.workflow.value.wstate\":\"RETAINED\", \"data.workflow.value.pstate\":\"WAITING\"}},{multi:true})/')
echo $QUERY
mongoExec "$QUERY"
echo "*** Removal of jobs will complete within 30 minutes ***"
exit 0